За последние 24 часа нас посетили 55143 программиста и 1730 роботов. Сейчас ищут 900 программистов ...

Объясните смысл работы рефера в этом случае

Тема в разделе "PHP для новичков", создана пользователем A.B.C., 1 ноя 2010.

  1. A.B.C.

    A.B.C. Активный пользователь

    С нами с:
    3 мар 2010
    Сообщения:
    109
    Симпатии:
    0
    Здравствуйте, объясните смысл взаимодействия 2 скриптов, почему на экране при первом запуске я не вижу пришел с 1.php????? Или не показывает путь до корневой папки???

    При нажатии на ссылку, далее появляется в обоих скриптах пришел с 1.php

    это я так понимаю из за того, что 2.php как бы является частью 1.php и как бы реферит сам себя, но с другой стороны сылка ведь находится на 2.php???
    Как бы запутался в этом.

    1.php

    PHP:
    1. print 'Включен - 1.php';
    2.  
    3. print '<br>Пришел с:'.$_SERVER['HTTP_REFERER']."<br>";
    4.  
    5. include '2.php';
    2.php
    PHP:
    1.  
    2. print 'Включен - 2.php';
    3.  
    4. print '<br>Пришел с:'.$_SERVER['HTTP_REFERER']."<br>";?>
    HTML:
    1. <a href="1.php">Вернуться на 1.php</a>
     
  2. MiksIr

    MiksIr Активный пользователь

    С нами с:
    29 ноя 2006
    Сообщения:
    2.339
    Симпатии:
    44
    HTTP_ префикс в переменной обозначает, что эти данные пришли в HTTP запросе от клиента. Реферер присылается клиентом. Дальше, думаю, сам можешь ответить на свои вопросы.
     
  3. A.B.C.

    A.B.C. Активный пользователь

    С нами с:
    3 мар 2010
    Сообщения:
    109
    Симпатии:
    0
    MiksIr
    т.е. как бы самому обрапотчику ПХП не важно как называются скрипты, он ориентируется на http запрос в адресной строке, тогда почему в самый первый раз $_SERVER['HTTP_REFERER'] - пустой, потому что еще как бы ничего не приходило?
     
  4. MiksIr

    MiksIr Активный пользователь

    С нами с:
    29 ноя 2006
    Сообщения:
    2.339
    Симпатии:
    44
    Почти верно сказал ;) Но все же не до конца. ПХП тупо берет то, что пришло от клиента в HTTP запросе и подставляет в данную _SERVER переменну. ПХП не анализирует, не меняет, не дополняет то, что пришло. Если ты напишешь запрос руками:
    > telnet www.mysite.ru 80
    GET /1.php HTTP/1.0
    Host: www.mysite.ru
    Referer: http://www.fbi.gov

    То твой скрипт напечатает http://www.fbi.gov :)

    Т.е. вся логика - на браузере. Ну и да, когда набираешь адрес руками, бразуер логично предполагает, что ты ниоткуда не пришел и не отсылает Referer заголовок - в скрипте он получается "пустым"
     
  5. A.B.C.

    A.B.C. Активный пользователь

    С нами с:
    3 мар 2010
    Сообщения:
    109
    Симпатии:
    0
    MiksIr

    Спасибо!
     
  6. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    если набрал в адресной строке - рефер пустой.
    если заинклюдил файл - рефер не меняется. =)

    о чем разговор?

    еще некоторые фаерволы режут рефер
     
  7. Апельсин

    Апельсин Активный пользователь

    С нами с:
    20 мар 2010
    Сообщения:
    3.645
    Симпатии:
    2
    если в теме меньше 10-ти ответов (включая флуд) - значит тема не до конца раскрыта :)
     
  8. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    Помогите разобраться: я засовываю палец в розетку и мне больно. А если засовываю два - больно точно так же. Где вторая половина? >:D
     
  9. Апельсин

    Апельсин Активный пользователь

    С нами с:
    20 мар 2010
    Сообщения:
    3.645
    Симпатии:
    2
    igordata
    У тебя искусственный второй палец)))) Потому току ничего не остается как бить тебя только через один палец))
     
  10. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    Мне часто говорили на форумах, что искусственные пальцы не надо никуда засовывать лишний раз! Что ж, видимо придется книжки Попова забросить туда, откуда взялась его фамилия. Жалко лишь зря потраченных денег на видеокурсы и двух лет упорного труда!

    Подскажите, что можно почитать на тему засовывания? Лучше на русском, потому что английский я принципиально никогда не буду учить, ибо я - лох.
     
  11. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    даешь флуд! >_<
     
  12. Апельсин

    Апельсин Активный пользователь

    С нами с:
    20 мар 2010
    Сообщения:
    3.645
    Симпатии:
    2
    ээээ.... тут уместно только посмотреть как засовывают другие :)))))
    видео немецких авторов ищи))
     
  13. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    если говорить о языках, то с немцами у меня совсем туго
     
  14. Gromo

    Gromo Активный пользователь

    С нами с:
    24 май 2010
    Сообщения:
    2.786
    Симпатии:
    2
    Адрес:
    Ташкент
    igordata
    а там смотреть надо, это же видео ))