Подключение и проверка прокси

Статус
В этой теме нельзя размещать новые ответы.

Mix3r

Создатель
Регистрация
24 Мар 2009
Сообщения
22
Реакции
1
Такая проблемка: юзал реггер аккаунтов на Яндекс. Скрипт проверяет прокси на "рабочесть", а потом, найдя рабочий, лезет регистрироваться. Первый акк регит, а на втором Яша сообщает "с вашего ip идут слишком частые запросы". Получается, что подмены ip не происходит. :nezn:
Теперь вопрос: как определять в скрипте, что ip сменился и можно коннектитьс? Интересует даже в привязке именно к этому скрипту, а в целом.
 
Например, можно так:
создаёшь у себя на хосте файл ip.php
PHP:
<?php
echo $_SERVER['REMOTE_ADDR'];
?>
Далее в своём скрипте проверяешь айпи:
PHP:
$proxy = '123.138.18.114:808';
$ch = curl_init('http://site.ru/ip.php');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_PROXY, $proxy);
$data = curl_exec($ch);
curl_close($ch);
if ($data==substr($proxy, 0, strpos($proxy,':'))) {
        айпи сменился
} else {
        ...
}
Кстати, возможен такой вариант, что кроме тебя кто-то ещё долбит яндекс с той же проксей.
 
рискую предположить, что прокси сменяется(иначе фиг бы вы смогли один новый акк зарегить)
Но, просто у яши стоят слишком жесткий фильтр ботов на регистрацию.
попрубуйте сделать задержку между запросами
скорее всего регистрация ограничена правилами "регистрация не чаще, чем раз в N секунд" и "регистраций не более чем M в сутки" для одного IP
 
Стандартные порты проксей, может яндекс подозрительно к ним относится.
Дополнительные параметры, типо юзер-агент, одинаковое заполнение полей в двух регистрациях (имя, пасс и т.п.), короче делай по возможности максимально рандомную регу.
Незнаю как с яндексом, а гугл очень не любит отсутствие жабаскрипта, через который тоже палится рега бота.
При проверки прокси можно на всякий проверить также HTTP_X_FORWARDED_FOR и HTTP_X_REAL_IP

нашел кусок кода на руборде :) :
Код:
Ip = intIp = $_SERVER ["REMOTE_ADDR"];
if (isset ($_SERVER ["HTTP_X_FORWARDED_FOR"])) {
 if (isset ($_SERVER ["HTTP_X_REAL_IP"]))
  intIp = $_SERVER ["HTTP_X_REAL_IP"];
 else
  intIp = $_SERVER ["HTTP_X_FORWARDED_FOR"];
}
 
Яшка палит именно тот же айпи, т.к. при реге руками такая же картина, а логин и пасс генерятся рандомные.
Буду пробовать вариант Belial - посмотрю результат.
 
подправьте только немного, что бы избежать трансляции при проверке
PHP:
<?php
echo $_SERVER['REMOTE_ADDR'];
echo $_SERVER['HTTP_X_FORWARDED_FOR'];
echo $_SERVER['HTTP_X_REAL_IP'];
?>
в принципе, транслировать могут не только эти заголовки, поэтому можно вообще среди всех проверить
PHP:
<?php
foreach($_SERVER as $val) {echo $val;}
?>
так 100% будет видно наличие ип сервера в адресе, при проверке прокси

и при получении данных, от этого скрипта, проверяете наличие ИП вашего сервера, откуда идет запрос

если адрес найден - значит прокси транслирует его и яндекс видит ваш "реальный" ип
 
попробуй ещё поэкспериментировать с разными USER AGENT при отправке заголовков яндексу.
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху