ANTICHAT

ANTICHAT (https://forum.antichat.xyz/index.php)
-   PHP (https://forum.antichat.xyz/forumdisplay.php?f=37)
-   -   Ограничение доступа к файлам через http (https://forum.antichat.xyz/showthread.php?t=18534)

null_access 20.06.2006 15:56

Цитата:

Сообщение от Егорыч+++
В общем требуется такой скрипт.

1) Пользователи авторизуются на сайте.
2) Можно давать разрешение на скачку определенных файлов и запрещать доступ к определенным файлам.


Интересны будут ваши идеи насчет того, как ограничить доступ к фалам не использую htaccess

а как такую темку через htaccess сделать?

Ch3ck 20.06.2006 19:31

Когда то на форуме была статья с полным описанием... щас нету... но в своё время я ее сохранил... Почитай вот => ЗДЕСЬ <= :cool:

max_pain89 20.06.2006 20:50

да, http://forum.antichat.ru/thread16076-htaccess.html , поиск sucks

DIAgen 21.06.2006 14:18

Решить можно проще! Фалы лежат не в web директории, пути к файлам в базе, так можно ограничить доступ пользователей, будет просто генирироваться адрес, ну например учитывающий кукки, потом уже скрипт проверяет этот адрес на соответсвие, и т.д. Может я и не прав но это самый надежный способ!

Dronga 03.08.2007 18:31

Не знаю решена проблема или нет, но есть идеальное решение.

Принцип прост. Кладем наш _файл_ в директорию, не важно какую, но пусть в самом тяжелом случае это будет веб дира. Далее пишем скрипт, который будет читать из этого файла и выводить в поток. Далее озаботимся тем чтобы файл нельзя было скачать напрямую:
1. Кладем в веб диру .htaccess который делает невозможным прямое обращение к файлу, есть несколько способов, меняются под конкретные задачи. Пропускаем второй пункт, читаем следующий абзац. Интерактив прям )
2. Если вообще нет возможности использования .htaccess читаем дальше. Папку с нашим секретным понтовым файлом обзываем например так tinevidiwetupapo4kutinetelepat. Сам скрипт кладем на уровень выше и в скрипте, непосредственно в коде, указываем путь что типа "./tinevidiwetupapo4kutinetelepat/".$file." . Отлично.

Теперь смотрим что мы имеем. Пользователь заходит на страничку, видит линк на скачку вида http://pustbudetantichat.ru/downloads.php?file=bibliya.pdf. Скрипт начинает его считывать и возвращать пользователю, при этом пользователь так и не узнает где-же всё-таки лежит файл. Всё.

Теперь осталось прикрутить авторизацию для того чтобы все подряд не могли качать, если нужно сделать чтобы кто-то мог, а кто-то нет, то уже разбиваем пользователей на группы.

Для ещё большего усложнения и сокрытия непоредственно имени файла можно использовать БД и линк на скачку приобретёт вид http://pustbudetantichat.ru/downloads.php?file=31337, но это уже всё вариации, задача решена.

На самом деле требуемый для этих целей php скрипт давно уже существует и называется NDL (No Direct Links), ищется в инете и поставляется с понятными examples.

nerezus 03.08.2007 19:33

ln -s рулит

bxN5 03.08.2007 19:44

Цитата:

AntiLeech v1.0
Антилич - система, которая пресекает деятельность личеров. В нашем случае антилич генерирует уникальную ссылку в зависимости от IP пользователя и при переходе по сгенерированной ссылке он проверяет ваш реферер (страничку с которой вы пришли), т.е. файл могут скачать только те люди, которые кликнули по ссылке именно на вашем сайте, хотя реферер конечно можно подделать, но личеру всё равно придётся указывать страничку на которой он взял ссылку.
Не проблема переделать данный скрипт для себя Ссылко

gibson 03.08.2007 22:08

Как вариат можно использовать дополнительный модуль download для vbulletin, немного переделать и все. Файлы храняться с рандомнымыми именами + htaccess
_http://vbsupport.org/forum/showthread.php?t=7266&highlight=downloads

-=lebed=- 03.08.2007 22:48

Цитата:

Сообщение от Егорыч+++
В общем требуется такой скрипт.

1) Пользователи авторизуются на сайте.
2) Можно давать разрешение на скачку определенных файлов и запрещать доступ к определенным файлам.


Интересны будут ваши идеи насчет того, как ограничить доступ к фалам не использую htaccess

1. Авторизуются, значит есть запись в базе. Пользователям в базу добавляются логические поля с названием папок (или скажем так: уровень доступа, можно сделать одно поле, но тогда каждому значению соответствует свой набор разрешённых директорий), в поля записывается флаг на скачку разрешено/запрещено (Да/Нет). Далее, перед скачкой, скрипт проверяет значение соответстующего поля конкретного пользователя (с именем названия папки) и в этом случае копирует или не копирует файл во временную папку.
2. - Для скачиваемых файлов придётся сделать разные папки в зависимости от уровня доступа.
3. Запрошенный файл копируется во временную директорию, случайный URL (название папки)
4. Ссылка на скачивание формируется динамически с этим случайным URL , её выдаёт скрипт, затем скрипт автоматически удаляет файл после скачки пользователем (или через некоторое время).

n1†R0x 03.08.2007 23:08

Так уже год прошел со дня последнего поста, мб неактуал, как думаете? :p
хотя все же почитать интересно было.

-=lebed=- 03.08.2007 23:18

Цитата:

Сообщение от n1†R0x
Так уже год прошел со дня последнего поста, мб неактуал, как думаете? :p
хотя все же почитать интересно было.

ОМГ: Dronga оказывается археолог (а я и не заметил...)


Время: 09:41