За последние 24 часа нас посетили 32926 программистов и 1756 роботов. Сейчас ищут 840 программистов ...

HTTP_REFERER и редирект

Тема в разделе "PHP для новичков", создана пользователем vikrorpert, 17 янв 2017.

  1. vikrorpert

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

    С нами с:
    13 окт 2010
    Сообщения:
    984
    Симпатии:
    10
    почему при вызове header ('Location: 2.php'); в файл 2.php не передается реферер?
    как я понял реферер передается только при клике по ссылке?
     
  2. artoodetoo

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

    С нами с:
    11 июн 2010
    Сообщения:
    11.128
    Симпатии:
    1.248
    Адрес:
    там-сям
    Не только, скорее почти всегда передается, но редирект это особый случай. Вроде как при редиректе referer указывает на предыдущую страницу, не?
    A → B (301) → C
    С увидит в реферере A.
     
    #2 artoodetoo, 17 янв 2017
    Последнее редактирование: 17 янв 2017
  3. igordata

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

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    его вообще может не быть. Забудь о нем. Он только для статы. Юзай сессии.
     
  4. artoodetoo

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

    С нами с:
    11 июн 2010
    Сообщения:
    11.128
    Симпатии:
    1.248
    Адрес:
    там-сям
    На него нельзя полагаться как на гарантированную вещь, но использовать как подсказку вполне можно. С fallback вариантом на случай если его нет :)
    --- Добавлено ---
    Для любознательных я сговнякал пример, показывающий что именно будет в реферере после редиректа
    A содержит фрейм B, а тот редиректит на C. Попробуйте указать каждую из страниц A, B и C в адресной строке.

    https: // dl.dropboxusercontent.com/u/11837706/referrer.zip
    (убрать пробелы)
     
  5. igordata

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

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

    Куда ни кинь - всюду клин.
     
  6. artoodetoo

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

    С нами с:
    11 июн 2010
    Сообщения:
    11.128
    Симпатии:
    1.248
    Адрес:
    там-сям
    Ты категоричен как подросток. Сценарий "Принять решение" может учитывать нулевой вариант.
    Какие именно гадкие сценарии ты имееш в виду? Делись.
     
  7. igordata

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

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    я нижнаю :oops:
     
  8. artoodetoo

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

    С нами с:
    11 июн 2010
    Сообщения:
    11.128
    Симпатии:
    1.248
    Адрес:
    там-сям
    Плохо Игорь, очень плохо! Иди в угол.
     
  9. igordata

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

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
  10. artoodetoo

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

    С нами с:
    11 июн 2010
    Сообщения:
    11.128
    Симпатии:
    1.248
    Адрес:
    там-сям
    [​IMG]
     
    SamyRed нравится это.
  11. igordata

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

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    я готов понести наказание! со всей строгостью!
     
  12. vikrorpert

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

    С нами с:
    13 окт 2010
    Сообщения:
    984
    Симпатии:
    10
    я проверял локально, при редиректе у меня HTTP_REFERER пустой
     
  13. miketomlin

    miketomlin Старожил

    С нами с:
    9 авг 2016
    Сообщения:
    3.861
    Симпатии:
    657