Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   PHP, PERL, MySQL, JavaScript (https://forum.antichat.xyz/forumdisplay.php?f=37)
-   -   Curl и Referer (https://forum.antichat.xyz/showthread.php?t=187077)

++Norton++ 15.03.2010 11:21

Curl и Referer
 
Вот есть такой скрипт:
Код:

<?
$c = curl_init();

@curl_setopt($c, CURLOPT_URL, "http://test.ru/page.html");
@curl_setopt($c, CURLOPT_RETURNTRANSFER, 1);
@curl_setopt ( $c , CURLOPT_REFERER , "http://refer.ru" );
@curl_setopt ( $c , CURLOPT_VERBOSE , 1 );
@curl_setopt ( $c , CURLOPT_HEADER , 1 );
@curl_setopt ( $c , CURLOPT_USERAGENT , $agent );
@curl_setopt ( $c , CURLOPT_HTTPHEADER , $header );
@curl_setopt ( $c , CURLOPT_FOLLOWLOCATION , 1 );
@curl_setopt ( $c , CURLOPT_SSL_VERIFYPEER, 0 );
@curl_setopt ( $c , CURLOPT_SSL_VERIFYHOST, 0 );
@curl_setopt ( $c , CURLOPT_COOKIEJAR , $cookie_file );
@curl_setopt ( $c , CURLOPT_COOKIEFILE , $cookie_file );

$res = @curl_exec($h);
curl_close($с);

echo $res;
?>

На странице page.html это:
Код:

<html><head></head>
<script>alert(document.referrer);</script>
<body></body></html>

Но при срабатывании скрипта показывается правильный реферер, а не тот, который передавал (в данном случае refer. ru).
Что не так? С курлом работаю совсем недавно, так что мог где-то напортачить.
Заранее спасибо!

b3 15.03.2010 13:04

Что тут ?
Цитата:

@curl_setopt ( $c , CURLOPT_HTTPHEADER , $header );
Если вылажуеш код так уже весь хотябы.

попугай 15.03.2010 14:32

потому что яваскриптовый document.referrer немного отличается от переменной окружения apache (HTTP_REFERER). Ява-скрипт сам его из браузера достает. Как то так.

В твоем случае - это страница, где запущен твой php-скрипт

++Norton++ 15.03.2010 21:37

Переменные $header и $agent передаются пустые. Я сначала хотел в них записать заголовок и агент, но как-то до этого еще не дошло.
Т.е. получается что для JavaScript другой (подставной) реферер передать не получится?

WNZRS 15.03.2010 22:05

Curl не поддерживает js (если русским языком), пиши свой обработчик js.
Если ты хочешь какой-то счётчик накрутить или что-то подобное, то просто передай ему нужный реферрер вместо document.referrer

rushter 15.03.2010 22:20

Удали все подавления ошибок, они только с толку будут сбивать.


Время: 05:10