Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум Apache

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Передача referer и .htaccess
 
 автор: demon666   (02.07.2007 в 11:44)   письмо автору
 
 

Здравствуйте. Проблема следующая:
Написал граббер, но на сайте, который граблю стоит защита от скачивания файлов по рефереру. Проверяется либо его правильность, либо отсутсвие. Так вот вопрос, можно ли как то через .htaccess отключить передачу скриптом заголовка referer?
Заранее спасибо ответившим.

   
 
 автор: cheops   (02.07.2007 в 21:27)   письмо автору
 
   для: demon666   (02.07.2007 в 11:44)
 

Хм... вообще реферер и не должен передаваться - вы каким способом извлекаете HTML-страницу с удалённого хоста?

   
 
 автор: demon666   (02.07.2007 в 22:39)   письмо автору
 
   для: cheops   (02.07.2007 в 21:27)
 

вот мой граббер:

<?php
Error_Reporting
(0);
$text=@file_get_contents("http://antiwap.ru/load/?$QUERY_STRING");
header("Cache-Control: no-cache");
header("Content-Type:text/html;charset=UTF-8");
print 
'<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <title>Загрузки</title>
    <link rel="stylesheet" href="default.css" type="text/css">
    </head>
    <body><div class="main">'
;
$text=@preg_replace('|<!D(.*)<body>|U','',$text);
$text=@preg_replace('|<br>Добавил:(.*)user.php(.*)>(.*)</a>|U','',$text);
$text=@preg_replace('|<tr><td class="iteml"><small>(.*)<(.*)stat(.*)>Статистика</a></small></td></tr>|U','',$text);
$text=@preg_replace('|<tr><td class="item" style="border-bottom: solid 1px #000080"><small>(.*)<(.*)rating(.*)>Рейтинг</a></small></td></tr>|U','',$text);
$text=@str_replace('<tr><td class="item" style="border-bottom: solid 1px #000080"><small>&nbsp;<a href="http://offsex.org/old">New Sex Archive</a></small></td></tr>','',$text);
$text=@str_replace('style/folder.gif','folder.gif',$text);
$text=@preg_replace('|<img src="style/ar(.*)<(.*)index(.*)>Главная</a><br>|U','',$text);
$text=@str_replace('style/up.gif','up.gif',$text);
$text=@str_replace('<div class="bottom">','',$text);
#$text=@str_replace("dl.php","http://antiwap.ru/load/dl.php",$text);
$text=@str_replace('img.php','http://antiwap.ru/load/img.php',$text);
$text=@explode('<img src="style/ar.gif" alt="&gt;">&nbsp;<a href="search.php',$text);
print
"$text[0]";
print 
'<small><a href="./"><span>-</span>&nbsp;Загрузки</a><br/><a href="../"><span>-</span>&nbsp;На главную</a></small></div></body></html>'
?>


dl.php

<script type="text/javascript"> 
window.location.href = "http://antiwap.ru/load/dl.php?<?php echo $_SERVER['QUERY_STRING'?>"; 
</script>


Но это работает только в IE. А мне нужно чтобы он работал и на мобильных телефонах, которые естественно не поддерживают JS. На сайте который граблю стоит проверка реферера либо на правильность, либо на его отсутвие... но он всё же передается.... и подделать тоже не получается.

   
 
 автор: cheops   (03.07.2007 в 09:28)   письмо автору
 
   для: demon666   (02.07.2007 в 22:39)
 

Функция file_get_contents() вообще не передаёт HTTP-заголовка referer, поэтому он не передаётся на сайт antiwap.ru. Или вам как раз нужно передать его?

   
 
 автор: demon666   (03.07.2007 в 11:30)   письмо автору
 
   для: cheops   (03.07.2007 в 09:28)
 

>Функция file_get_contents() вообще не передаёт HTTP-заголовка referer, поэтому он не передаётся на сайт antiwap.ru. Или вам как раз нужно передать его?


да, по идее должен не передаваться, но как то же их скрипт вычисляет, что это граббер. Скопируйте и вставьте вот эту ссылку в адресную строку http://antiwap.ru/load/dl.php?id=15110&s=1, перейдите, и загрузится картинка. А потом перейдите по этой ссылке прямо с форума, то выкинет на главную страницу антивапа. Когда реферера не было, то картинка загрузилась, когда появился, то нет. Точно такая же проблема и в граббере, file_get_contents() реферер не передает, даже когда в граббере расскоментировать вот эту строчку $text=@str_replace("dl.php","http://antiwap.ru/load/dl.php",$text); то есть выставить прямые ссылки на файлы, то при переходе по ним выкидывает на главную страницу. Значит здесь реферер как то передается... Вот только сам не пойму как....

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования