|
|
|
| Можно ли как-то защититься от прямой ссылки на файл с другого сайта средствами РНР? | |
|
|
|
|
|
|
|
для: AMK
(01.10.2005 в 20:58)
| | Это PHP-страница или файл для загрузки? | |
|
|
|
|
|
|
|
для: cheops
(01.10.2005 в 22:56)
| | Это файл для загрузки - например zip-архив. | |
|
|
|
|
|
|
|
для: AMK
(02.10.2005 в 11:16)
| | Посмотрите ссылки на файлы в разделе downloads - такие ссылки подойдут (они не срабатывают в WinXP SP2) и путь можно всё таки увидить в Opera. | |
|
|
|
|
|
|
|
для: cheops
(02.10.2005 в 13:29)
| | А можно создавать и удалять папки со случайными именами и в них копировать файл и потом (по прошествии заданного времени - например 24 часа) удалять их? Я имею ввиду делать все выше описанное средствами РНР? Например создавать папку с именем FgfghGfh12Dddd, помещать в нее файл 1.zip из основной папки с архивами для загрузки и генерировать ссылку типа :
<a href="../FgfghGfh12Dddd/1.zip>Скачать архив</a>
|
| |
|
|
|
|
|
|
|
для: AMK
(02.10.2005 в 15:07)
| | Можно и так - у вас на сервере cron имеется? | |
|
|
|
|
|
|
|
для: cheops
(02.10.2005 в 19:10)
| | Я конечно не знаю целей, но возможно AMK подойдет такой вариант, который не требует Cron.
При нажатии на ссылку, нужный файл копируетсья в папку "tmp" под рандомным именем. Потом остаетсья перегрузить страницу и добавить файл в заголовок. Когда другой пользователь захочет загрузить этот файл, просто удалять все файлы из папки "tmp".
P.S. Правда я не знаю как будет обстоять дело, если во время загрузки файла одним пользвателем, его захочет загрузить другой... | |
|
|
|
|
|
|
|
для: napTu3aH
(02.10.2005 в 19:52)
| | Цель - сэкономить траффик... Уже дважды натыкался в инете на ссылки на архивы с моего сайта.
Уже практически написал скрипт. Единственная трабла - подсчет оставшегося свободного места на серваке - так чтоб не получилось, что все свободное место будет занято этими временно создаваемыми папками. Не могу найти как это сделать...
А крона нету=( | |
|
|
|
|
|
|
|
для: AMK
(02.10.2005 в 21:16)
| | >так чтоб не получилось, что все свободное место будет занято этими временно создаваемыми
>папками.
Если возможно сделать, как я предлагаю, то вам не надо будет беспокоиться о кол-ве свободного места. На сервере никогда не должно быть больше 1-го временного файла, т.к. все файлы, которые были в этой папке удаляються перед тем, как создать там файл для текущего пользователя. | |
|
|
|
|
|
|
|
для: napTu3aH
(03.10.2005 в 09:10)
| | >На сервере никогда
>не должно быть больше 1-го временного файла, т.к. все файлы,
>которые были в этой папке удаляються перед тем, как создать
>там файл для текущего пользователя.
Т.е? Например заходит чел на сайт, выбирает скачать файл 1.zip, начинает качать. В это же время заходит второй чел и начинает качать файл 2.zip. Выходит что первый чел, который качает файл 1.zip обламывается, т.к. файл 1.zip будет удален? Или для каждого пользователя не может быть создано более одного временного файла? | |
|
|
|
|
|
|
|
для: AMK
(03.10.2005 в 21:52)
| | А можно сделать кривую ссылку, типа dp.php?s=2013554&dir=12&file=25 и выдавать 25-й файл, лежащий в 12-й директории, если сессия 2013554 актуальна (начата на другой странице сайта). Я так делал с картинками - получить путь невозможно. но не знаю, можно ли выдать какой-нибудь файл, кроме картинок и мелодий. | |
|
|
|
|
|
|
|
для: AMK
(02.10.2005 в 21:16)
| | >Единственная трабла -
>подсчет оставшегося свободного места на серваке - так чтоб
>не получилось, что все свободное место будет занято этими
>временно создаваемыми папками. Не могу найти как это
>сделать...
Возможно вас заинтересует следующая тема
http://softtime.ru/forum/read.php?id_forum=1&id_theme=7326&page=1 | |
|
|
|
|
автор: Саня_ (01.10.2005 в 23:13) |
|
|
для: AMK
(01.10.2005 в 20:58)
| | Можно посмотреть HTTP_REFERER, затем просканировать код той страницы на наличие прямой ссылки на этот файл. | |
|
|
|
|
|
|
|
для: Саня_
(01.10.2005 в 23:13)
| | Броузер клиента может не передавать рефферер. И что тогда? | |
|
|
|