копирование сложноформируемого HTTP-запроса или как накрутить голосование
Сейчас трудно найти более-менее популярный сайт, где бы важные для сайта, запросы (голосование, подтверждение перевода денег итд ) формировались через переданные сервером в явном виде данные. Подобные действия со стороны администрации и программистов сайта ясны – они хотят максимально усложнить процесс копирования запроса браузера.
Обычно для усложнения данных запроса на клиентской стороне используеться JavaScript и как правило этот скрипт не так уж легко понять (200-1000 строчек хрензнаеткакнаписанного кода):
- сервер посылает гипер-текстовую страницу с вкраплениями JS и исходных данных
- JS обрабатывает переданные в явном виде данные и формирует из них данные для верификации запроса
- браузер дает запрос серверу с целевыми аргументами и аргументами для верификации запроса
- сервер анализирует полученные данные верификации запроса и если они удовлетворяют требованиям, то обрабатывает целевые
Мой способ обойти подобные сложности не претендует на изящность или сверхскорость, однако он рабочий и более-менее универсальный, а самое главное не придеться разбирать JS. Далее я опишу этот способ на примере накрутчика голосования.
читать полностью →