Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Правильно формирование заголовков

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
ganzales
Отправлено: 27 Сентября, 2009 - 22:23:14
Post Id


Новичок


Покинул форум
Сообщений всего: 11
Дата рег-ции: Сент. 2009  


Помог: 0 раз(а)




Подскажите, как сформировать запрос, для обхода защиты от хотлинков, необходимо отправить реферер, почему то сервер все равно не отдает файл, что я делаю не правильно?
CODE (text):
скопировать код в буфер обмена
  1. $file = 'http://site.ru/file.exe';
  2. $file_stream = @fopen($file, 'rb');
  3. fwrite($file_stream, "GET http://site.ru/file.exe HTTP/1.0\r\n
  4. Host: site.ru\r\n
  5. Referer: http://site.ru/dowload/\r\n");
 
 Top
JustUserR
Отправлено: 28 Сентября, 2009 - 11:35:15
Post Id



Активный участник


Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009  


Помог: 17 раз(а)




ganzales Может быть несколько предположений
1 Лучше использовать CURL или sockets чтобы быть увереным что послались только ваши заголовки и точно их контролировать
2 Также мне не нравится то что в строке с двойными кавычками реальный перенос стороки не игрорируется и у вас получается два переноса строки что и выдает ошибку (В таком случае даже Host: уже не отсылается)
3 Может система более сложная и ей нужен не только referer но и какие cookie или еще что
4 И наконец а что имено выдает сервере - 403 ?


-----
Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик Улыбка
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
 
 Top
ganzales
Отправлено: 28 Сентября, 2009 - 12:38:42
Post Id


Новичок


Покинул форум
Сообщений всего: 11
Дата рег-ции: Сент. 2009  


Помог: 0 раз(а)




1. Неужели без них никак не получится передать реферер?
2. Пробовал с одним переносом, результата такой же
3. 100% нужен реферер, пробовал удаленно качать на сервер через wget с указанием реферера
4. Hot Linking Blocked.

Please Contact Systems Administrator.
 
 Top
JustUserR
Отправлено: 28 Сентября, 2009 - 17:36:12
Post Id



Активный участник


Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009  


Помог: 17 раз(а)




ganzales Всетаки прсто пониматете когда вы делаете fopen то вы не полнсть контролиуете процесс обмена даными а вот с CURL или sockets выполчете то что надо


-----
Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик Улыбка
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
 
 Top
ganzales
Отправлено: 28 Сентября, 2009 - 17:38:50
Post Id


Новичок


Покинул форум
Сообщений всего: 11
Дата рег-ции: Сент. 2009  


Помог: 0 раз(а)




проблема оказалась забытом окнчании "\r\n", так все работает, а как сделать тоже самое на курл, никогда не приходилось с ним сталкиваться
CODE (text):
скопировать код в буфер обмена
  1. # <?php
  2. #  if ($handler = fsockopen ('site.ru', 80)){
  3. #      $headers = "GET /file.exe HTTP/1.1\r\n";
  4. #      $headers.= "Host: site.ru\r\n";
  5. #      $headers.= "Referer: http://site.ru/download\r\n";
  6. #      $headers.= "Connection: close\r\n";
  7. #      $headers.= "\r\n"; // Вы забыли про эту строчку
  8. #      fputs ($handler, $headers);
  9. #      while (!feof ($handler)){
  10. #          echo fgets ($handler, 128);
  11. #      }
  12. #      fclose ($handler);
  13. #  }
  14. #  ?>
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Программирование на PHP »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB