Мамят гласуване на PHP на пръстите

Приятелите ми, които участват в различни състезания. В същото време те са привлечени от тази всичките си приятели и познати, изпращайки ICQ или иска VKontakte "Гласувайте за мен тук", "Гласувайте за снимка" и т.н. Мисля, че тази ситуация е позната на мнозина. Тогава един ден реших да помогне на един от приятеля си, и това е, което излезе от него.

Внимание! Тази публикация е написана само за информация. Използвайте тази информация, само за разработването на методи за борба с фолио, когато разработват свои собствени приложения. Играйте честни, приятелите ми, и не нарушават закона!

С две думи, ние трябва да се определи каква информация се изпраща на сървъра, когато щракнете върху "Норма", а след това се автоматизира, така че едни и същи данни се изпраща бързо, често без ръце :) Тъй като сложността което трябва да направим допълнителна работа, преди да изпращане на данни. Всичко зависи от това, което е там за нас, разработчиците са подготвили модул гласуване ...

Ние разглеждаме HTML

Отваряне на сорс кода на страницата, за да гласуват. Ние сме заинтересовани в таг

. Неговото действие и метод атрибути. както и всички свързани с тагове . Очевидно това aPoll модул за Joomla. Но в действителност това не е от значение, защото аз ще се спра тук на общите принципи, които важат за всеки такъв механизъм за гласуване.

Назначаване на почти всички ясен. Само последният неизвестен параметър е очевидна:

Ако опресните страницата, името на промяната на параметъра.

Тъй като вие използвате метода на POST. Предполагам, че заявката ще изглежда така:

Ние търсим пакети

За да се получат точни данни, които са изпратени към браузъра, взех Wireshark`om. За обучени и по-специално за поддържащи Wi-подушване даваме подробности за следващия път.

Всичко е както очаквах, с изключение на линиите:

Сега разбирам защо трябва неизвестния параметър с ужасно име. Това е най-простият защита срещу измама, която е само половината усложни нашия скрипт - не може да бъде глупав, за да изпратите POST-търсене на сървъра, без да изтегляте преди тази страница гласуване. Как да получите тази бисквитка? Търсим GET заявка пакет на самата страница. Зад него се търси следващата HTTP / 1.1 200 OK:

От това, ние се нуждаем само линията Set-Cookie. Тази бисквитка посочване спаси ключ = стойност за текущия сайт, а по-скоро от своя страна, е посочено в пътя (в нашия случай - е коренът).

Сега, всички звена от веригата са сглобени, можете да започнете!

изпълнение

Цялостната картина сега ние сме разработили. Ние трябва да се искане към страница с форма на гласуване, да се измъкнем от заглавието на бисквитка и неизвестния параметър на формата. След това да форма заявка kukoy, неизвестен параметър и други параметри, които остават непроменени. Всичко това трябва да се извърши в една линия върху файл със списък на прокси сървъри.

Сценарият ще отнеме много време - при това положение не може да се намира в някоя от уеб хостинг доставчика. Аз не Schell да sozhadeniyu не знам. Ето защо, аз ще се проведе на локалната машина :) Това е изключително опасно, и аз не препоръчвам този начин!

След една вечер на кодиране и отстраняване на грешки аз имам това:

Не е най-красивата кода, но най-важното работи :)