Referer - это тот адрес, с которого обратился к странице пользователь. Например, Вы переходите из Google на какую-либо страницу, расположенную в выдаче. В этом случае, для страницы referer'ом является Google . Но статья о другом, эта информация была исключительно для пояснения. В прошлой статье я уже писал, что отве...
Referer - это тот адрес, с которого обратился к странице пользователь. Например, Вы переходите из Google на какую-либо страницу, расположенную в выдаче. В этом случае, для страницы referer'ом является Google. Но статья о другом, эта информация была исключительно для пояснения. В прошлой статье я уже писал, что ответ сервера зачастую зависит от cookie, а, точнее, от заголовков, посланных клиентом. Но помимо cookie в заголовки входит множество других параметров, в частности, referer. И очень важно уметь отправлять нужный referer через cURL для тестирования тех скриптов, которые нуждаются в нём.
Мы не будем сейчас придумывать очень сложные задачи, а лучше рассмотрим всё на самом тривиальном примере. От скрипта-источника передаётся referer, а скрипт-приёмник возвращает его. Далее этот ответ принимает скрипт-источник и печатает результат.
Код файла-приёмника очень простой ("script.php"):
<?php
echo $_SERVER["HTTP_REFERER"];
?>
Теперь нам нужно написать скрипт-источник, который будет отправлять referer через cURL на наш скрипт, написанный выше, а затем получать от него ответ и печатать его.
<?php
if( $curl = curl_init() ) {
curl_setopt($curl, CURLOPT_URL, 'http://temp.local/script.php');
curl_setopt($curl, CURLOPT_RETURNTRANSFER,true);
curl_setopt($curl, CURLOPT_REFERER, "http://myrusakov.ru");
$out = curl_exec($curl);
echo $out;
curl_close($curl);
}
?>
Теперь всё-таки о том, где это может пригодиться. Допустим, у Вас на сайте стоит счётчик посещений. И Вы хотите узнать, сколько посетителей приходит из Google. Что для этого нужно? Правильно, подсчитать количество посещений пользователей с referer'ом - Google. И чтобы протестировать такой скрипт вовсе не нужна ссылка, размещённая на Google, а нужно лишь задать referer через cURL и отправить соответствующий запрос на Ваш скрипт.
