Forum Webscript.Ru
		Программирование => PHP => Тема начата: ElenaB от 04 Апреля 2003, 12:57:53
		
			
			- 
				Во время СЕССИИ по линку на защищенной странице открывается документ word: 
 
 Но если user сохранит у себя ссылку на открытый таким образом документ, то он будет открываться.
 Можно ли запретить подобное обращение к документу?
- 
				ИМХО такие документы лучше хранить в папке, недоступной из web
 и отдавать их скриптом:
 
 скрипт провряет прохождение авторизации и выдает клиенту файл
- 
				Каким способом тогда выдать файл
			
- 
				ElenaB 
 сформировать заголовки и послать документ
 уже обсуждали неоднократно - ищи в форуме
- 
				$file=$_GET[\'file\']; // могут множиться кавчки, тогда повырезай их)
 
 heder("location: file:$file");
 exit;
 P.S. А вообще если уже пользуешся сессией то загоняй в сессию название документа, а потом работай с ним (session_register("file");) без всяких get и post.
 А уж если совсем по правилам, отключи регистр глобалс и считывай путь к файлу из сессии через $HTTP_SESSION_VARS[\'file\'];
- 
				Спасибо!
 Буду проробовать эти варианты!
 Усли будут еще - будет здорово
- 
				MrGreeN:
 heder("location: file:$file");
 
 Полнейший бред.
 ThE0ReTiC имел ввиду вот эти заголовки
 http://forums.webscript.ru/showthread.php?s=&threadid=11412&msgnum=1
- 
				По моему проблема была у ElenaB не в даунлоде файла а в том чтобы обыкновенный пользователь не мог загрузить доку даже зная полный её путь (если без зашёл без аутификации)...
			
- 
				MrGreeN  понял меня совершенно верно
			
- 
				ElenaB 
 Ну так Макс же и ответил, что делать, только сначала надо на стороне сервера папку или сам файл закрыть от доступа извне...
- 
				Да, кстати не мешало бы...:)
			
- 
				Папка закрыта, а во скрипт не работает
 Ошибкку не выдает но и документ тоже
 $header.= "Location: file:".$SERVER_NAME."/DOCUMENTS/docun.doc\\n";
 $header.= "\\n";
 header($header);
- 
				Ошибкку не выдает но и документ тоже
 
 
 и не выдаст, т.к. Location в данном случае не сработает, Location просто передает браузеру заголовок, что надо редиректиться, и естественно доступ к закрытой папочке не получает! хотя по идее и должно быть сообщение об ошибке с доступом... в любом случае скрипт тут должен быть абсолютно другой, который будет читать файл в переменную в бинарном режиме и выдавать порциями браузеру... а в нем уже и будет возможно реализовать любую аутентификацию....
- 
				ElenaB 
 А если не секрет - зачем это вообще делается?
 То есть какова общая задача?
- 
				Xander 
 наверное чтоб денег платили перед тем как скачать док файл