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

Тема в разделе "PHP", создана пользователем Mix3r, 12 фев 2010.

Статус темы:
Закрыта.
Модераторы: latteo
  1. Mix3r

    Mix3r Создатель

    Регистр.:
    24 мар 2009
    Сообщения:
    22
    Симпатии:
    1
    Такая проблемка: юзал реггер аккаунтов на Яндекс. Скрипт проверяет прокси на "рабочесть", а потом, найдя рабочий, лезет регистрироваться. Первый акк регит, а на втором Яша сообщает "с вашего ip идут слишком частые запросы". Получается, что подмены ip не происходит. :nezn:
    Теперь вопрос: как определять в скрипте, что ip сменился и можно коннектитьс? Интересует даже в привязке именно к этому скрипту, а в целом.
     
  2. Belial

    Belial

    Регистр.:
    1 фев 2010
    Сообщения:
    236
    Симпатии:
    113
    Например, можно так:
    создаёшь у себя на хосте файл 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($chCURLOPT_RETURNTRANSFER1);
    curl_setopt($chCURLOPT_PROXY$proxy);
    $data curl_exec($ch);
    curl_close($ch);
    if (
    $data==substr($proxy0strpos($proxy,':'))) {
            
    айпи сменился
    } else {
            ...
    }
    Кстати, возможен такой вариант, что кроме тебя кто-то ещё долбит яндекс с той же проксей.
     
    Mix3r нравится это.
  3. Alternator

    Alternator

    Регистр.:
    23 мар 2009
    Сообщения:
    295
    Симпатии:
    145
    рискую предположить, что прокси сменяется(иначе фиг бы вы смогли один новый акк зарегить)
    Но, просто у яши стоят слишком жесткий фильтр ботов на регистрацию.
    попрубуйте сделать задержку между запросами
    скорее всего регистрация ограничена правилами "регистрация не чаще, чем раз в N секунд" и "регистраций не более чем M в сутки" для одного IP
     
  4. satih

    satih

    Регистр.:
    19 сен 2008
    Сообщения:
    429
    Симпатии:
    710
    Стандартные порты проксей, может яндекс подозрительно к ним относится.
    Дополнительные параметры, типо юзер-агент, одинаковое заполнение полей в двух регистрациях (имя, пасс и т.п.), короче делай по возможности максимально рандомную регу.
    Незнаю как с яндексом, а гугл очень не любит отсутствие жабаскрипта, через который тоже палится рега бота.
    При проверки прокси можно на всякий проверить также 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"];
    }
     
  5. Mix3r

    Mix3r Создатель

    Регистр.:
    24 мар 2009
    Сообщения:
    22
    Симпатии:
    1
    Яшка палит именно тот же айпи, т.к. при реге руками такая же картина, а логин и пасс генерятся рандомные.
    Буду пробовать вариант Belial - посмотрю результат.
     
  6. betatest

    betatest

    Регистр.:
    3 дек 2007
    Сообщения:
    517
    Симпатии:
    127
    подправьте только немного, что бы избежать трансляции при проверке
    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% будет видно наличие ип сервера в адресе, при проверке прокси

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

    если адрес найден - значит прокси транслирует его и яндекс видит ваш "реальный" ип
     
    Mix3r нравится это.
  7. satyra

    satyra Постоялец

    Регистр.:
    21 окт 2007
    Сообщения:
    73
    Симпатии:
    7
    попробуй ещё поэкспериментировать с разными USER AGENT при отправке заголовков яндексу.
     
Статус темы:
Закрыта.