Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Архив Flasher.ru > Программирование > PHP

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему  
Старый 02.06.2002, 06:23
Yurik вне форума Посмотреть профиль Отправить личное сообщение для Yurik Найти все сообщения от Yurik
  № 1  
Yurik
 
Аватар для Yurik

Регистрация: Dec 1999
Сообщений: 85
По умолчанию Как не дать никому поставить линк на файл, лежащий на моем сайте?

Т.е. мне нужно чтобы можно было загрузить файл только зайдя на страницу "доунлоад.хтм" и кликнув там на линк "доунлоад".
Чтобы пользователь не мог использовать прямой линк на файл (например зип-архив).

Старый 02.06.2002, 14:17
Wave вне форума Посмотреть профиль Отправить личное сообщение для Wave Посетить домашнюю страницу Wave Найти все сообщения от Wave
  № 2  
Wave
еретик

Регистрация: Jan 2001
Адрес: Харьков, Украина
Сообщений: 919
держи файлы в базе, и отдавая их пользователю проверяй referrer... вообще - проверяй все, что только сможешь придумать
__________________
These unidentyfied flying objects, that appeared to display unique characteristics, such as the speed, the record maneuverity and so on, must be studied in the interest of mankind

Старый 02.06.2002, 16:25
Crazy вне форума Посмотреть профиль Отправить личное сообщение для Crazy Посетить домашнюю страницу Crazy Найти все сообщения от Crazy
  № 3  
Crazy
[+1 23.05.11]
 
Аватар для Crazy

Регистрация: Dec 2001
Сообщений: 4,159
Referer защитит только от чайников.
__________________
GIT d++ s++:++ a C++$ UB++ P++ L+ E+ W+++ N++ w++ O+ M V- t-- 5-- X+ R+++ tv- b+++ D++

Старый 02.06.2002, 18:42
Wave вне форума Посмотреть профиль Отправить личное сообщение для Wave Посетить домашнюю страницу Wave Найти все сообщения от Wave
  № 4  
Wave
еретик

Регистрация: Jan 2001
Адрес: Харьков, Украина
Сообщений: 919
умный, да?

тогда поясни ему как он может использовать сессии для защиты своих ссылок
__________________
These unidentyfied flying objects, that appeared to display unique characteristics, such as the speed, the record maneuverity and so on, must be studied in the interest of mankind

Старый 02.06.2002, 19:38
Crazy вне форума Посмотреть профиль Отправить личное сообщение для Crazy Посетить домашнюю страницу Crazy Найти все сообщения от Crazy
  № 5  
Crazy
[+1 23.05.11]
 
Аватар для Crazy

Регистрация: Dec 2001
Сообщений: 4,159
Сессии он тоже не может использовать. Могу даже объяснить -- почему. Я для этого достаточно умный.
__________________
GIT d++ s++:++ a C++$ UB++ P++ L+ E+ W+++ N++ w++ O+ M V- t-- 5-- X+ R+++ tv- b+++ D++

Старый 02.06.2002, 20:09
Yurik вне форума Посмотреть профиль Отправить личное сообщение для Yurik Найти все сообщения от Yurik
  № 6  
Yurik
 
Аватар для Yurik

Регистрация: Dec 1999
Сообщений: 85
А вот что-то типа этого пойдет?


Код:
$files=array( file1.zip', 'file2.mp3'); 
$filenames=array( 'file1.mp3', 'file2.mp3');
$url= "http://www.mysite.net/download/files_folder/"; 


$referer=ereg_replace( "\?.", "",$HTTP_REFERER); 
$thisfile= "http://$HTTP_HOST$PHP_SELF"; 

if ($referer!=$thisfile){ 
		for ($i=0;$i<count($files);$i++) 
	echo  "<P><A HREF=\"$PHP_SELF?$i\">",$filenames[$i]";
}
else { 
	$i=$QUERY_STRING; 
	$total=$url . $files[$i]; 
	Header ( "Content-Type: application/octet-stream"); 
	Header ( "Content-Length: ".filesize($total)); 
	Header( "Content-Disposition: attachment; filename=$filenames[$i]"); 
	readfile($total); 
}

Старый 02.06.2002, 21:50
Crazy вне форума Посмотреть профиль Отправить личное сообщение для Crazy Посетить домашнюю страницу Crazy Найти все сообщения от Crazy
  № 7  
Crazy
[+1 23.05.11]
 
Аватар для Crazy

Регистрация: Dec 2001
Сообщений: 4,159
Защита от чайника.

Профи запросто подставит тебе любой REFERER, какой сочтет нужным.
__________________
GIT d++ s++:++ a C++$ UB++ P++ L+ E+ W+++ N++ w++ O+ M V- t-- 5-- X+ R+++ tv- b+++ D++

Старый 02.06.2002, 23:31
Wave вне форума Посмотреть профиль Отправить личное сообщение для Wave Посетить домашнюю страницу Wave Найти все сообщения от Wave
  № 8  
Wave
еретик

Регистрация: Jan 2001
Адрес: Харьков, Украина
Сообщений: 919
а что если при открытии download.php?filename=filename.zip генерить что то типа filename.zip|suparandomid и хранить его куда нить, ссылку же делать в виде fetchfile.php?id=randomid, и при скачивании запись типа *|* мы удалим. таким образом не посетив download.php человек хрен стянет filename.zip. поставив же ссылку, он тоже обломается, потому что рандомид мы сикспирим через полчаса к примеру.
достаточно помоему надежно.... аль нет?
__________________
These unidentyfied flying objects, that appeared to display unique characteristics, such as the speed, the record maneuverity and so on, must be studied in the interest of mankind

Старый 03.06.2002, 01:56
Crazy вне форума Посмотреть профиль Отправить личное сообщение для Crazy Посетить домашнюю страницу Crazy Найти все сообщения от Crazy
  № 9  
Crazy
[+1 23.05.11]
 
Аватар для Crazy

Регистрация: Dec 2001
Сообщений: 4,159
Общий принцип: нельзя доверять данным, которые передал пользователь.

Соответственно универсального механизма нет в принципе.

Можно подобрать пригодный механизм для конкретного случая -- и перечисленные методы каждый по-своему работоспособны. Но автор треда не указал настоящую цель, которую он хочет достичь. Соответственно, нет смысла угадывать.
__________________
GIT d++ s++:++ a C++$ UB++ P++ L+ E+ W+++ N++ w++ O+ M V- t-- 5-- X+ R+++ tv- b+++ D++

Старый 03.06.2002, 05:15
Yurik вне форума Посмотреть профиль Отправить личное сообщение для Yurik Найти все сообщения от Yurik
  № 10  
Yurik
 
Аватар для Yurik

Регистрация: Dec 1999
Сообщений: 85
Crazy
Подскажи тогда что-либо пожалуйста.

Wave
Как мне кажется достаточно надежно... но хз. В принципе мне особенно и не нужно от сильно искушенных людей защищаться, просто чтобы кто попало ссылку на файлы не ставил...

Создать новую тему   Часовой пояс GMT +4, время: 22:08.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 22:08.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.