Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей.
Здесь обсуждаются безопасность, программирование, технологии и многое другое.
Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
 |

15.03.2010, 11:21
|
|
Участник форума
Регистрация: 20.11.2006
Сообщений: 172
Провел на форуме: 539954
Репутация:
106
|
|
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).
Что не так? С курлом работаю совсем недавно, так что мог где-то напортачить.
Заранее спасибо!
|
|
|

15.03.2010, 13:04
|
|
Постоянный
Регистрация: 05.12.2004
Сообщений: 647
Провел на форуме: 1698585
Репутация:
818
|
|
Что тут ?
@curl_setopt ( $c , CURLOPT_HTTPHEADER , $header );
Если вылажуеш код так уже весь хотябы.
|
|
|

15.03.2010, 14:32
|
|
Познавший АНТИЧАТ
Регистрация: 15.01.2008
Сообщений: 1,166
Провел на форуме: 2459557
Репутация:
606
|
|
потому что яваскриптовый document.referrer немного отличается от переменной окружения apache (HTTP_REFERER). Ява-скрипт сам его из браузера достает. Как то так.
В твоем случае - это страница, где запущен твой php-скрипт
|
|
|

15.03.2010, 21:37
|
|
Участник форума
Регистрация: 20.11.2006
Сообщений: 172
Провел на форуме: 539954
Репутация:
106
|
|
Переменные $header и $agent передаются пустые. Я сначала хотел в них записать заголовок и агент, но как-то до этого еще не дошло.
Т.е. получается что для JavaScript другой (подставной) реферер передать не получится?
|
|
|

15.03.2010, 22:05
|
|
Участник форума
Регистрация: 03.09.2009
Сообщений: 179
Провел на форуме: 1014907
Репутация:
90
|
|
Curl не поддерживает js (если русским языком), пиши свой обработчик js.
Если ты хочешь какой-то счётчик накрутить или что-то подобное, то просто передай ему нужный реферрер вместо document.referrer
|
|
|

15.03.2010, 22:20
|
|
Reservists Of Antichat - Level 6
Регистрация: 23.05.2008
Сообщений: 756
Провел на форуме: 9257858
Репутация:
979
|
|
Удали все подавления ошибок, они только с толку будут сбивать.
|
|
|
|
 |
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|