Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Не передаётся http_referer 
V
    Опции темы
kolombo777
Дата 9.11.2008, 22:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 23
Регистрация: 14.9.2008

Репутация: нет
Всего: нет



Да, на этом форуме уже много похожих тем, я их прочитал,
но мой случай особенный.

Есть два сайта http://1.ru и http://2.ru.

На 1.ru стоит php код
Код

$my_HTTP_REFERER=getenv("HTTP_REFERER");
дальше эта переменная записывается в лог


На 2.ru поставил JavaScript код
Код

<script type="text/javascript" language="JavaScript" src="http://1.ru/get-links.php?max=1&category=soft"></script>


При заходе на 2.ru, javascript загружается с 1.ru
и в логах сайта 1.ru остаётся http_referer 2.ru.
Тут проблем нет, всё нормально, http_referer передаётся.

Но как только на 2.ru поставил PHP код
Код

$f=join('"", file("http://1.ru/get-links.php?max=1&category=soft"));

При заходе на 2.ru, в логах сайта 1.ru НЕ остаётся http_referer 2.ru

То есть при JavaScript коде - http_referer передаётся,
а при php коде http_referer НЕ передаётся.
PM MAIL   Вверх
Sanchezzz
  Дата 9.11.2008, 22:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1670
Регистрация: 19.11.2006
Где: Voronezh

Репутация: 41
Всего: 60



передовай через JS рефер страницы 

escape(window.location.href) //страница
escape(document.referrer) //рефер

я долго искал вариант но этот оказался верным..

видишь когда ты обращяешься из ty1.ru к ty2.ru 


допустим у тебя скрипт лежит на ty2.ru а код JS на ty1.ru при переходе с другого сайта на ty1.ru refer не считается так как скрипт его не распознает он считает что его не было так как он не запушен на ty1.ru а вот когда переходишь не посредственно на скрипт на тот домен где он расположен рефер скрипт получает поэтому тут только одни выход передавать от клиента javascript-ом

Это сообщение отредактировал(а) Sanchezzz - 9.11.2008, 23:33


--------------------
Понравился ответ "+" по репе, не забываем закрывать тему, заказы в LS.
PM MAIL Skype GTalk   Вверх
unicross
Дата 9.11.2008, 23:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 422
Регистрация: 15.6.2008

Репутация: 21
Всего: 53



kolombo777, при использовании функции file() referer и не должен передаваться.

Вместо этой функции используйте сокеты или CURL. Там можно добавить этот заголовок.
PM MAIL WWW   Вверх
kolombo777
Дата 9.11.2008, 23:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 23
Регистрация: 14.9.2008

Репутация: нет
Всего: нет



Цитата(unicross @ 9.11.2008,  23:19)
kolombo777, при использовании функции file() referer и не должен передаваться.

Вместо этой функции используйте сокеты или CURL. Там можно добавить этот заголовок.

Сокеты нравятся больше, CURL не люблю, так как нравится быть ближе к природе,
конкретно работа с сокетами напрямую, а не через CURL.

Код

$hostname = "foto.mail.ru";
$path = $page;
  // Устанавливаем соединение, имя которого
  // передано в параметре $hostname
  $fp = fsockopen($hostname, 80, $errno, $errstr, 30); 
  // Проверяем успешность установки соединения
  if (!$fp) echo "$errstr ($errno)<br />\n"; 
  else
  { 
    // Формируем HTTP-заголовки для передачи
    // его серверу
    $headers = "GET $path HTTP/1.1\r\n"; 
    $headers .= "Host: $hostname\r\n"; 
    // Подделываем cookie
    $headers .= "Cookie: accept=1; admin=1;\r\n";
    $headers .= "Connection: Close\r\n\r\n"; 
    // Отправляем HTTP-запрос серверу
    fwrite($fp, $headers); 
    // Получаем ответ
    $text="";
    while (!feof($fp))
    { 
      $text .= fgets($fp, 1024); 
    } 
    fclose($fp); 
  }

Куки то я умею корректировать, ну ладно, подделывать smile
А как называется поле http_referer в заголовке http запроса?

Это сообщение отредактировал(а) kolombo777 - 9.11.2008, 23:34
PM MAIL   Вверх
unicross
Дата 9.11.2008, 23:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 422
Регистрация: 15.6.2008

Репутация: 21
Всего: 53



Цитата

А как называется поле http_referer в заголовке http запроса?

Код

Referer: http://2.ru/

PM MAIL WWW   Вверх
kolombo777
Дата 9.11.2008, 23:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 23
Регистрация: 14.9.2008

Репутация: нет
Всего: нет



Цитата(unicross @ 9.11.2008,  23:44)
Цитата

А как называется поле http_referer в заголовке http запроса?

Код

Referer: http://2.ru/

Всё гениальное просто smile
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0487 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.