|
|
|
(PHP) Как защитить сайт от скачивания?
|
|||
|---|---|---|---|
|
#18+
Добрый день. Как сделать правильную отдачу файлов с сервера? При условии что файлы мы индексируем в MySQL табличке как id, path, size. Пользователям мы отдаем ссылки вида /file.php?get=<id>, id это автоинкремент в табличке. Вопросы: 1. В таком варианте есть возможность пользователем скачать все файлы, при помощи просто скрипта с перебором id. Этого допустить нельзя. Какие есть варианты? У меня первое что пришло на ум генерить при добавлении уникальный идентификатор для файла, вроде GUID и хранить его в табличке, ссылка будет выглядеть как /file.php?get=<GUID>, таким образом мы избежим перебора. Как сгенерировать этот UID? Кстати с content-type тоже гемор, указывать ручками нужно... Может есть еще варианты как можно отдавать безопасно файлы средствами apache? Временные симлинки не предогать ибо ссылки на файлы могут быть разданы пользователем кому угодно. Модератор: Называйте топики более осознано. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.05.2006, 16:10:01 |
|
||
|
(PHP) Как защитить сайт от скачивания?
|
|||
|---|---|---|---|
|
#18+
Ну например можно при генерации страницы со ссылками генерить произвольные id любым удобным образом, например как строку из произвольных символов. А для себя в сессию записывать какие произвольные id соответсвуют каким реальным. При переходе по ссылке сверяем, вытаскиваем настоящий id и отдаем данные из базы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.05.2006, 17:13:11 |
|
||
|
(PHP) Как защитить сайт от скачивания?
|
|||
|---|---|---|---|
|
#18+
типа этого http://ru.php.net/manual/ru/function.uniqid.php ------------------ - А как в Интеpнете pаботать? - Сначала нужно узнать, что вам нужно rtfm ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.05.2006, 17:24:36 |
|
||
|
(PHP) Как защитить сайт от скачивания?
|
|||
|---|---|---|---|
|
#18+
Ага, сенкс. У меня тут нарисовался полный алгоритм, оцените плз. 1. У нас есть табличка files (id, hash, file_name, description) 2. Пользователь закачивает файл на сайт через форму 3. Скрипт, принимающий файл индексирует его, добавляя новую запись в табличку hash=md5(uniqid(rand())), копирует в папку вне /www пот именем id, т.е. имя файла будет выглядеть как 4512. 4. все ссылки на файлы на сайте будет типо /downloads.php?hash=34df34... 5. При попытке скачать скрипт создает директорию где-нить в /www с именем hash и в ней symlink('...4512 ', '...рельное имя файла'), и location на нее. 6. раз в сутки прибиваем устаревшние диры Что мы получаем в итоге: 1. Защита от копирования всех файлов 2. постоянные урлы на файлы, которые можно раздавать, с mod_rewrite это может выглядеть как http://www.site.com/files/234dfd567ghbvbkl34jn3ggt5.doc(расширение для красоты и для понимания что это за файл) 3. удобное хранения файлов на сервере, все в одной дире с auto_increment именами (минус в этом тот что мы не узнаем кому пренадлежит файл пока не посмотри в базе на соответствубщий id) 4. Пользователь при загрузке получает файл, который называется так же как и на компьютере пользователя залившего его, а не "234dfd567ghbvbkl34jn3ggt5.doc". Для этого мы создаем диру в пункте 5 Правда с русскими названиями пока не ясно что будет :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.05.2006, 20:25:31 |
|
||
|
(PHP) Как защитить сайт от скачивания?
|
|||
|---|---|---|---|
|
#18+
автор5. При попытке скачать скрипт создает директорию где-нить в /www с именем hash и в ней symlink('...4512 ', '...рельное имя файла'), и location на нее. Зачем? Почему нельзя отдавать файл через скрипт? автор(расширение для красоты и для понимания что это за файл) Чем doc красивее, чем .php или .eudo ? ---------------------------------------- Артисты не приехали, приехали цыгане ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.05.2006, 20:40:19 |
|
||
|
(PHP) Как защитить сайт от скачивания?
|
|||
|---|---|---|---|
|
#18+
4m@t!c Зачем? Почему нельзя отдавать файл через скрипт? Потому что неохота колдовать над content-type, и также не охота колдовать над offset для download-managers. 4m@t!c Чем doc красивее, чем .php или .eudo ? Если пользователь добавил файл .doc то урл выглядит http://www.site.com/files/234dfd567ghbvbkl34jn3ggt5.doc Если пользователь добавил файл .pdf то урл выглядит http://www.site.com/files/234dfd567ghbvbkl34jn3ggt5.pdf а так, ничем не лучше. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.05.2006, 20:48:52 |
|
||
|
(PHP) Как защитить сайт от скачивания?
|
|||
|---|---|---|---|
|
#18+
1024byteНу например можно при генерации страницы со ссылками генерить произвольные id любым удобным образом, например как строку из произвольных символов.И что же, это мне помешает натравить на сайт любой оффлайн-браузер типа TeleportPro?А для себя в сессию записывать какие произвольные id соответсвуют каким реальным.Поисковики будут в восторге от такого редкостного бреда. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.05.2006, 22:55:48 |
|
||
|
(PHP) Как защитить сайт от скачивания?
|
|||
|---|---|---|---|
|
#18+
лучшая защита для сайта, если он на дискете, которая в сейфе, ключ от которого потерян..... контент, если он нужный все равно вытащят, хоть принтскрином, а если не нужный то и защищать нет смысла..... зачем? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.05.2006, 20:39:08 |
|
||
|
(PHP) Как защитить сайт от скачивания?
|
|||
|---|---|---|---|
|
#18+
mr_yuлучшая защита для сайта, если он на дискете, которая в сейфе, ключ от которого потерян..... контент, если он нужный все равно вытащят, хоть принтскрином, а если не нужный то и защищать нет смысла..... зачем? Полностью согласен ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.05.2006, 13:03:31 |
|
||
|
(PHP) Как защитить сайт от скачивания?
|
|||
|---|---|---|---|
|
#18+
читайте топик заново. ------------------ - А как в Интеpнете pаботать? - Сначала нужно узнать, что вам нужно rtfm ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.05.2006, 22:46:41 |
|
||
|
(PHP) Как защитить сайт от скачивания?
|
|||
|---|---|---|---|
|
#18+
eudoПотому что неохота колдовать над content-type, и также не охота колдовать над offset для download-managers. PEAR/HTTP/Download.php -- зачем изобретать велосипед, используйте наш -- (С) авторы Turbo Vision ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.05.2006, 22:52:23 |
|
||
|
|

start [/forum/topic.php?fid=23&msg=33746419&tid=1476060]: |
0ms |
get settings: |
7ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
199ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
50ms |
get tp. blocked users: |
1ms |
| others: | 196ms |
| total: | 485ms |

| 0 / 0 |
