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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

изпълнение

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

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

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

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