Помогите с перенаправлением посетителей

Discussion in 'PHP' started by ir33, 18 Apr 2016.

  1. ir33

    ir33 New Member

    Joined:
    18 Apr 2016
    Messages:
    2
    Likes Received:
    0
    Reputations:
    0
    Мне нужно чтобы пользователи с IP адресами из России и открывающие страницу no.php на моём сайте http://www.vunsdorf.ru переносились на страницу co.php
    Помогите, пожалуйста со скриптом. Кто может написать? Пожалуйста очень нужно
     
  2. roker777

    roker777 Member

    Joined:
    9 Nov 2009
    Messages:
    11
    Likes Received:
    14
    Reputations:
    2
    Вот подходящее API http://sypexgeo.net/ru/api/, лимит 10к запросов в месяц, делаешь запрос с параметром ip пользователя, далее из ответа получаешь код страны, а там проверка и редирект. Если маленький лимит, то нужно искать базы ip адресов и проверять по ним, вот статья https://habrahabr.ru/post/146597/
     
  3. pravdaru

    pravdaru Member

    Joined:
    5 Dec 2015
    Messages:
    176
    Likes Received:
    47
    Reputations:
    0
    Смысл использовать сторонние сервисы? Если тут две строчки кода
    Диапозон ip адресов, и редирект.
     
  4. t0ma5

    t0ma5 Reservists Of Antichat

    Joined:
    10 Feb 2012
    Messages:
    828
    Likes Received:
    815
    Reputations:
    90
    если в апаче есть модуль mod_geoip
    то есть неплохая статья по нужной вам настройке

    http://dev.maxmind.com/geoip/legacy/mod_geoip2/

    Code:
    GeoIPEnable On
    GeoIPDBFile /path/to/GeoIP.dat
    
    # Redirect one country
    RewriteEngine on
    RewriteCond %{ENV:GEOIP_COUNTRY_CODE} ^CA$
    RewriteRule ^(.*)$ http://www.canada.com$1 [R,L]
    
    # Redirect multiple countries to a single page
    RewriteEngine on
    RewriteCond %{ENV:GEOIP_COUNTRY_CODE} ^(CA|US|MX)$
    RewriteRule ^(.*)$ http://www.northamerica.com$1 [R,L]
    
     
    _________________________
    goodguysoft and pravdaru like this.
  5. nokochka

    nokochka Member

    Joined:
    17 May 2010
    Messages:
    17
    Likes Received:
    12
    Reputations:
    0
    Юзай =))

    PHP:
    <?php
    include('api-city/api-city.php');
    $gi geoip_open('api-city/1.dat'GEOIP_STANDARD);
    $remote_ip $_SERVER['REMOTE_ADDR'];
    $record geoip_record_by_addr($gi,$remote_ip);
    $code $record->country_code3;
    geoip_close($gi);
    if (
    preg_match('/(RUS)/i'$code) == 1)
    {
    header('Location: http://www.vunsdorf.ru/co.php');
    exit;
    }
    ?>
    api качай тут https://yadi.sk/d/rLfYIaF5r9cuv

    файл 1.dat качал с http://rutracker.org/forum/viewtopic.php?t=5058988

    если есть у кого-нить более свежая платная база - поделитесь=))
     
    pravdaru likes this.
  6. lucifer-m

    lucifer-m Member

    Joined:
    24 Apr 2016
    Messages:
    32
    Likes Received:
    7
    Reputations:
    0
    адский говнокод. Резервирование переменных для одноразового использования... надо примерно так
    PHP:
    <?php
    include('api-city/api-city.php');
    $gi geoip_open('api-city/1.dat'GEOIP_STANDARD);
    $record geoip_record_by_addr($gi,$_SERVER['REMOTE_ADDR']);
    geoip_close($gi);
    if (
    preg_match('/(RUS)/i'$record->country_code3) == 1){
         
    header('Location: http://www.vunsdorf.ru/co.php');
         exit;
    }
    ?>
     
    pravdaru likes this.
  7. ir33

    ir33 New Member

    Joined:
    18 Apr 2016
    Messages:
    2
    Likes Received:
    0
    Reputations:
    0
    Можно ли взять api и прописать с другого сайта ссылкой не устанавливая к себе? Или это плохо?
    Файл 1.dat не скачивается - ресурс заблокирован. Для этого файла можно ли сделать также, может на каком-то другом сайте он есть и сделать на него ссылку?
     
  8. lucifer-m

    lucifer-m Member

    Joined:
    24 Apr 2016
    Messages:
    32
    Likes Received:
    7
    Reputations:
    0
    API правильный выбор.
     
  9. nokochka

    nokochka Member

    Joined:
    17 May 2010
    Messages:
    17
    Likes Received:
    12
    Reputations:
    0
    Шедеврально, бля=)))
    Прогиб засчитан
    [​IMG]

    ================================

    to all

    В архиве лежит, что в 1м моём посте, уже скачанный файл 1.dat
    Код изначально рабочий=))
     
    pravdaru likes this.
  10. lucifer-m

    lucifer-m Member

    Joined:
    24 Apr 2016
    Messages:
    32
    Likes Received:
    7
    Reputations:
    0
    ЛОЛ. ПЕРЕМЕННАЯ должна создаваться для данных которые мы будем юзать в коде несколько раз, а не один.
     
    nokochka likes this.
  11. pravdaru

    pravdaru Member

    Joined:
    5 Dec 2015
    Messages:
    176
    Likes Received:
    47
    Reputations:
    0
    API правильный выбор?)) Слушай, а тебе никакие API еще не нужны?)) А то у меня есть API для Вконтакта))
    Я тебе даже binary API могу дать)) Ты его запускаешь у себя на компе)) И он тебе дает любое API))
     
  12. lucifer-m

    lucifer-m Member

    Joined:
    24 Apr 2016
    Messages:
    32
    Likes Received:
    7
    Reputations:
    0
    ЛОЛ. Зачем велосипедить если есть api которое буде работать в 100500 раз стабильнее ))
     
  13. lucifer-m

    lucifer-m Member

    Joined:
    24 Apr 2016
    Messages:
    32
    Likes Received:
    7
    Reputations:
    0
    стати я тебе могу пару сотен бинарных API подкинуть)
     
  14. pravdaru

    pravdaru Member

    Joined:
    5 Dec 2015
    Messages:
    176
    Likes Received:
    47
    Reputations:
    0
    Откуда ты знаешь, стабильнее или нет?) Ты же не знаешь, что внутри происходит?)
    Я вот говорю, моё стабильнее будет)
     
  15. nokochka

    nokochka Member

    Joined:
    17 May 2010
    Messages:
    17
    Likes Received:
    12
    Reputations:
    0
    Уговорил. Давай штук эдак 200 выкладывай здесь.=))))
     
    pravdaru likes this.
  16. nokochka

    nokochka Member

    Joined:
    17 May 2010
    Messages:
    17
    Likes Received:
    12
    Reputations:
    0
    Кто знает, кто знает? =)))

    Может писать в БД он будет, учитывать для какой-нить статы эти переходы...
    Не стал убирать переменную

    Помимо перехода, можно учесть прочее для записи

    PHP:
    $ccode $record->country_code;
    $code $record->country_code3;
    $name $record->country_name;
    $region $record->region;
    $region $record->region_name;
    $city $record->city;
    $postal_code $record->postal_code;
    $lat $record->latitude;
    $lon $record->longitude;
    $time_zone $record->time_zone;
    $area_code $record->area_code;
    $metro_code $record->metro_code;
    $continent_code $record->continent_code;
    Типа отмазался=))))
     
    lucifer-m and pravdaru like this.
  17. pravdaru

    pravdaru Member

    Joined:
    5 Dec 2015
    Messages:
    176
    Likes Received:
    47
    Reputations:
    0
    Это вопрос из серии, что больше нравится?) Хаос или порядок?)
    Оба существуют. Ахахахха
     
    nokochka and lucifer-m like this.
  18. b3

    b3 Banned

    Joined:
    5 Dec 2004
    Messages:
    2,170
    Likes Received:
    1,155
    Reputations:
    202
    Ты же имел ввиду свой код я надеюсь? Сравнивать регуляркой 2 строки из 3х символов.
     
    nokochka likes this.