X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость ( Вход | Регистрация )

Открыть тему
Тема закрыта
> Вопрос по php
zakaznik
zakaznik
Topic Starter сообщение 18.1.2011, 15:41; Ответить: zakaznik
Сообщение #1


↑↑↑ Цель ↑↑↑
******

Группа: Active User
Сообщений: 1842
Регистрация: 17.3.2010
Поблагодарили: 394 раза
Репутация:   51  


Здравствуйте, вот столкнулся с проблемкой:

необходимо записывать в лог обращения к файлу, в логе должен указываться реферер сайта, который запросил обращение к определенному php, например, snif.php...

ну дак вот, скрипт записи лога есть, но при таком обращении: file_get_contents к файлу snif.php скрипт не может получить http реферер(((

P.S. если переходим в браузере по обычной ссылке на страничку snif.php, все нормально получается...

как быть? есть ли выход?

Сообщение отредактировал zakaznik - 18.1.2011, 15:44


--------------------
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
On1x
On1x
сообщение 18.1.2011, 15:44; Ответить: On1x
Сообщение #2


Бывалый
****

Группа: User
Сообщений: 262
Регистрация: 24.1.2010
Из: Димитровград
Поблагодарили: 61 раз
Репутация:   20  


Реферрер передает только браузер. Это не обязательный параметр при серфинге. Проблема не в скрипте, просто file_get_contents не сообщает в заголовке реферрер.


--------------------


Поблагодарили: (1)
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
zakaznik
zakaznik
Topic Starter сообщение 18.1.2011, 15:45; Ответить: zakaznik
Сообщение #3


↑↑↑ Цель ↑↑↑
******

Группа: Active User
Сообщений: 1842
Регистрация: 17.3.2010
Поблагодарили: 394 раза
Репутация:   51  


(On1x @ 18.1.2011, 14:44) *
Проблема не в скрипте, просто file_get_contents не сообщает в заголовке реферрер.

теоретически, можно ли это както поправить в скрипте, чтобы передавал?

Сообщение отредактировал zakaznik - 18.1.2011, 15:46


--------------------
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
On1x
On1x
сообщение 18.1.2011, 16:04; Ответить: On1x
Сообщение #4


Бывалый
****

Группа: User
Сообщений: 262
Регистрация: 24.1.2010
Из: Димитровград
Поблагодарили: 61 раз
Репутация:   20  


В каком? Который snif.php, или который запрашивает через file_get_contents?

Если первый вариант - то никак.
Если второй - то смотрите в сторону CURL(параметр CURLOPT_REFERER), или голый fsockopen.


--------------------


Поблагодарили: (1)
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
zakaznik
zakaznik
Topic Starter сообщение 18.1.2011, 16:07; Ответить: zakaznik
Сообщение #5


↑↑↑ Цель ↑↑↑
******

Группа: Active User
Сообщений: 1842
Регистрация: 17.3.2010
Поблагодарили: 394 раза
Репутация:   51  


(On1x @ 18.1.2011, 15:04) *
Если второй - то смотрите в сторону CURL(параметр CURLOPT_REFERER), или голый fsockopen.

да второй smile.gif

$opts = array(
  'http'=>array(
    'method'=>"GET",
    'header'=>"Accept-language: en\r\n" .
              "Cookie: foo=bar\r\n" .
             "Referer: http://www.example.com\r\n"
  )
);

$context = stream_context_create($opts);

$file = file_get_contents('http://www.example.com/', false, $context);


вот это нашел было))) сидел разбирался.... не смог настроить чтобы САМ РЕФЕРЕР забирал....((( example.com передает, а вот как вытаскивать рефереры ? какую регулярку писать? smile.gif

Сообщение отредактировал zakaznik - 18.1.2011, 16:08


--------------------
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
On1x
On1x
сообщение 18.1.2011, 16:11; Ответить: On1x
Сообщение #6


Бывалый
****

Группа: User
Сообщений: 262
Регистрация: 24.1.2010
Из: Димитровград
Поблагодарили: 61 раз
Репутация:   20  


вы немного не понимаете.

snif.php - получает при загрузке все данные из заголовка. Без разницы - кто их передает.

Вторым скриптом - вы можете отбратится к определенному сайту поставив реферер. В данном случае вы обращаетесь к странице
$file = file_get_contents('http://www.example.com/', false, $context);
и передаете реферер в заголовке "Referer: http://www.example.com\r\n".

Можно теперь вторым - обращаться к первому скрипту, чтобы тот получал реферер.
Вы что хотите сделать?


--------------------


Поблагодарили: (1)
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
zakaznik
zakaznik
Topic Starter сообщение 18.1.2011, 16:19; Ответить: zakaznik
Сообщение #7


↑↑↑ Цель ↑↑↑
******

Группа: Active User
Сообщений: 1842
Регистрация: 17.3.2010
Поблагодарили: 394 раза
Репутация:   51  


(On1x @ 18.1.2011, 15:11) *
Вы что хотите сделать?

да, все так как вы написали:

это только пример, который нашел в инете: $file = file_get_contents('http://www.example.com/', false, $context);

так то у меня: $file = file_get_contents('http://mysite/snif.php', false, $context);

и передает реферер в заголовке "Referer: http://www.example.com\r\n". - да, по этому примеру именно так...

НО:

мне необходимо, чтобы реферер брался автоматически... т.е. скрипт будет использоваться на сайтах: mysite1.ru, mysite2.ru и т.д....

а сейчас выше приведенный скрипт передает принудительно один реферер, который указан: "Referer: http://www.example.com\r\n"

Сообщение отредактировал zakaznik - 18.1.2011, 16:20


--------------------
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
On1x
On1x
сообщение 18.1.2011, 16:23; Ответить: On1x
Сообщение #8


Бывалый
****

Группа: User
Сообщений: 262
Регистрация: 24.1.2010
Из: Димитровград
Поблагодарили: 61 раз
Репутация:   20  


Что значит реферер будет браться автоматически? Не совсем понимаю.
Туда можно любой сайт писать. Можно хост доставать из одной переменной, вот так:

"Referer: http://".$_SERVER["HTTP_HOST"]."\r\n"


--------------------


Поблагодарили: (1)
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
zakaznik
zakaznik
Topic Starter сообщение 18.1.2011, 16:28; Ответить: zakaznik
Сообщение #9


↑↑↑ Цель ↑↑↑
******

Группа: Active User
Сообщений: 1842
Регистрация: 17.3.2010
Поблагодарили: 394 раза
Репутация:   51  


(On1x @ 18.1.2011, 15:23) *
"Referer: http://".$_SERVER["HTTP_HOST"]."\r\n"

ВООООО!!! то, что мне было нужно....

я тоже так подставлял: "Referer: http://".$_SERVER["HTTP_HOST"]."\r\n"

только HOST"]. -точку тут не ставил и ничего не выдавалосЬ! СПАСИБО ! biggrin.gif

Замечание модератора:
Эта тема была закрыта автоматически ввиду отсутствия активности в ней на протяжении 100+ дней.
Если Вы считаете ее актуальной и хотите оставить сообщение, то воспользуйтесь кнопкой
или обратитесь к любому из модераторов.


--------------------
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Открыть тему
Тема закрыта
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) Нужна верстка со знанием php
4 Nemo 368 22.5.2018, 7:14
автор: Nemo
Открытая тема (нет новых ответов) Ищу php-программиста, работа с Yii2
0 eduarddis 309 19.5.2018, 15:58
автор: eduarddis
Открытая тема (нет новых ответов) Вопрос по поводу цен на сайте
16 WildWeb8 941 13.5.2018, 17:40
автор: genjnat
Открытая тема (нет новых ответов) Веб-разработка (HTML5, CSS3, JavaScript, jQuery, Ajax, PHP)
20 qpPeW 5737 30.4.2018, 15:34
автор: koroluk1990
Открытая тема (нет новых ответов) Нужен backend разработчик (PHP)
0 Jerard 513 27.4.2018, 1:30
автор: Jerard


 



RSS Текстовая версия Сейчас: 24.5.2018, 6:47
Дизайн