Узнать откуда пришел пользователь.

Тема в разделе "PHP", создана пользователем Mikhail.M, 20 июл 2008.

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

    Mikhail.M Создатель

    Регистр.:
    2 июл 2008
    Сообщения:
    11
    Симпатии:
    4
    Нужен маленький кусочек кода PHP, который будет выводить определенный текст, если человек перешел с определенного сайта, с любой его страницы.
    Например
    Код:
    if (посетитель пришел с nulled.ws или с www.nulled.ws)
    {
    echo "Hello";
    }
    
    Как узнать откуда пользователь, с какого домена? Вычленить домен из переменной окружения HTTP_REFERER? Или есть другой способ? Нет ли какой-нибудь функции для этого?
     
  2. DVG

    DVG Прохожие

    Примерно так определяю кто и откуда:
    PHP:
    if (isset ($_SERVER["HTTP_X_FORWARDED_FOR"]))
    $host gethostbyaddr($_SERVER["HTTP_X_FORWARDED_FOR"]; }
    else{ 
    $host gethostbyaddr($_SERVER["REMOTE_ADDR"]); }
    $ip$_SERVER["REMOTE_ADDR"];
    $referer $_SERVER["HTTP_REFERER"];
     
  3. Chisel

    Chisel Писатель

    Регистр.:
    16 июл 2008
    Сообщения:
    5
    Симпатии:
    0
    а если HTTP_REFERER пуст, тогда как узнать?
     
  4. RxB

    RxB

    Заблокирован
    Регистр.:
    16 июл 2007
    Сообщения:
    236
    Симпатии:
    51
    Только если спросить у него, адрес страницы откуда пришёл посетитель хранится только в HTTP_REFERER
     
  5. venetu

    venetu

    Регистр.:
    28 мар 2007
    Сообщения:
    735
    Симпатии:
    261
    Еще много полезного есть в куках разных счетчиков.

    Например, если стоит google-analytics, не поленись некоторое время поскидывать массив $_COOKIES от своих посетителей в какой-нибудь файл логов - будешь удивлен.
     
  6. 1802

    1802 Писатель

    Регистр.:
    21 июл 2008
    Сообщения:
    3
    Симпатии:
    0
    а данные будут выводиться на экран пользователю или записываться в файл?
     
  7. cyberquoter

    cyberquoter Создатель

    Регистр.:
    26 июн 2008
    Сообщения:
    22
    Симпатии:
    6
    Чтобы вывести на экран к-либо данные нужно передать эти данные функции print_r($data) (подразумевается, что передается массив но сработает и строка :))

    Чтобы сохранить данные в файл нужно сделать примерно следующее:
    PHP:
    <?php
    $string 
    'Some string';

    $fp fopen('file.txt''w+');
    fputs($fp$string);
    fclose($fp);
    ?>
    :)
     
  8. alpheratz

    alpheratz Постоялец

    Регистр.:
    10 авг 2008
    Сообщения:
    61
    Симпатии:
    2
    А если страничка сервера подгружается, например, в иФрейме на моей странице - может ли хозяин подгружаемой странице узнать, что его страничка была посещена через именно таким образом?
     
  9. B1rdEX

    B1rdEX Постоялец

    Регистр.:
    30 июн 2008
    Сообщения:
    141
    Симпатии:
    26
    2alpheratz
    че за невнятный бред? оО

    2all
    советую поаккуратнее с рефом, так как заголовок посылается браузером и легко его подделать.. Например если тупо выводить на страницу - можно заработать XSS. Если писать в файл, допустим пхп, то получается шелл ). Даже если пишешь в тхт, а у тебя на сайте где-нибудь инклуд бага - тот же шелл..
    Короче, будьте аккуратнее и фильтруйте юзера через друшлак ;)
     
    Dimkich нравится это.
  10. alpheratz

    alpheratz Постоялец

    Регистр.:
    10 авг 2008
    Сообщения:
    61
    Симпатии:
    2
    Сервер A.ru, имеет страницу a.htm
    Страница a.htm згружается в иФрейме странице b.htm, принадлежащей сайту B.ru.

    Посетитель, попадая на b.ru/b.htm - видит перед собой контент страницы a.htm.

    Может ли хозяин A.ru узнать КАК ИМЕННО посмотрели его страницу в этот раз (т.е. в тот раз когда ее посетили через иФрейм на странице b.htm)

    И если это возможно, что он увидит - историю посещений, IP серфера, или IP странички b.htm ?
     
Статус темы:
Закрыта.