Forum Webscript.Ru

Программирование => PHP => Тема начата: ElenaB от 04 Апреля 2003, 12:57:53

Название: Открыть документ word в сесии
Отправлено: ElenaB от 04 Апреля 2003, 12:57:53
Во время СЕССИИ по линку на защищенной странице открывается документ word:

Но если user сохранит у себя ссылку на открытый таким образом документ, то он будет открываться.
Можно ли запретить подобное обращение к документу?
Название: Открыть документ word в сесии
Отправлено: Макс от 04 Апреля 2003, 13:03:15
ИМХО такие документы лучше хранить в папке, недоступной из web
и отдавать их скриптом:

скрипт провряет прохождение авторизации и выдает клиенту файл
Название: Открыть документ word в сесии
Отправлено: ElenaB от 04 Апреля 2003, 13:36:00
Каким способом тогда выдать файл
Название: Открыть документ word в сесии
Отправлено: ThE0ReTiC от 04 Апреля 2003, 13:57:41
ElenaB
сформировать заголовки и послать документ
уже обсуждали неоднократно - ищи в форуме
Название: Открыть документ word в сесии
Отправлено: MrGreeN от 04 Апреля 2003, 14:06:32
$file=$_GET[\'file\']; // могут множиться кавчки, тогда повырезай их)

heder("location: file:$file");
 exit;
P.S. А вообще если уже пользуешся сессией то загоняй в сессию название документа, а потом работай с ним (session_register("file");) без всяких get и post.
А уж если совсем по правилам, отключи регистр глобалс и считывай путь к файлу из сессии через $HTTP_SESSION_VARS[\'file\'];
Название: Открыть документ word в сесии
Отправлено: ElenaB от 04 Апреля 2003, 15:32:06
Спасибо!
Буду проробовать эти варианты!
Усли будут еще - будет здорово
Название: Открыть документ word в сесии
Отправлено: Alexandr от 08 Апреля 2003, 09:14:52
Цитировать
MrGreeN:
heder("location: file:$file");

Полнейший бред.
ThE0ReTiC имел ввиду вот эти заголовки
http://forums.webscript.ru/showthread.php?s=&threadid=11412&msgnum=1
Название: Открыть документ word в сесии
Отправлено: MrGreeN от 08 Апреля 2003, 15:04:56
По моему проблема была у ElenaB не в даунлоде файла а в том чтобы обыкновенный пользователь не мог загрузить доку даже зная полный её путь (если без зашёл без аутификации)...
Название: Открыть документ word в сесии
Отправлено: ElenaB от 09 Апреля 2003, 14:25:29
MrGreeN  понял меня совершенно верно
Название: Открыть документ word в сесии
Отправлено: semya от 09 Апреля 2003, 16:33:19
ElenaB
Ну так Макс же и ответил, что делать, только сначала надо на стороне сервера папку или сам файл закрыть от доступа извне...
Название: Открыть документ word в сесии
Отправлено: MrGreeN от 09 Апреля 2003, 16:53:02
Да, кстати не мешало бы...:)
Название: Открыть документ word в сесии
Отправлено: ElenaB от 09 Апреля 2003, 18:37:55
Папка закрыта, а во скрипт не работает
Ошибкку не выдает но и документ тоже
$header.= "Location: file:".$SERVER_NAME."/DOCUMENTS/docun.doc\\n";
$header.= "\\n";
header($header);
Название: Открыть документ word в сесии
Отправлено: semya от 10 Апреля 2003, 09:39:17
Цитировать
Ошибкку не выдает но и документ тоже

и не выдаст, т.к. Location в данном случае не сработает, Location просто передает браузеру заголовок, что надо редиректиться, и естественно доступ к закрытой папочке не получает! хотя по идее и должно быть сообщение об ошибке с доступом... в любом случае скрипт тут должен быть абсолютно другой, который будет читать файл в переменную в бинарном режиме и выдавать порциями браузеру... а в нем уже и будет возможно реализовать любую аутентификацию....
Название: Открыть документ word в сесии
Отправлено: Xander от 10 Апреля 2003, 10:07:34
ElenaB
А если не секрет - зачем это вообще делается?
То есть какова общая задача?
Название: Открыть документ word в сесии
Отправлено: semya от 10 Апреля 2003, 12:07:57
Xander
наверное чтоб денег платили перед тем как скачать док файл