![]() |
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]() ![]() ![]() |
|
Coder |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 733 Регистрация: 13.12.2004 Репутация: нет Всего: 11 |
Некоторые сайты блокируют файлы для скачивания. Это происходит если пользователь хочет загрузить его с помощью мастера закачек или загрузить его с другого сайта. В результате просто возвращается интернет страничка, с которой можно уже скачать файл.
Как такое сделать у себя на сайте? |
|||
|
||||
Mal Hack |
|
|||
![]() Мудрый... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 122 Всего: 261 |
Coder файл надо скриптом отдавать пользователю, при этом анаизируя HTTP_USER_AGENT на предмет того, что к сайту браузер обращается.
|
|||
|
||||
Irokez |
|
|||
![]() индеец ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1180 Регистрация: 20.10.2004 Репутация: 22 Всего: 53 |
лучше анализировать HTTP_REFERER ... хотя все можно подделать
или сессию установить |
|||
|
||||
Mal Hack |
|
|||
![]() Мудрый... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 122 Всего: 261 |
Irokez реально лучше - файлы скриптом отдавать и блокировать мастеры по агенту.
|
|||
|
||||
Irokez |
|
|||
![]() индеец ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1180 Регистрация: 20.10.2004 Репутация: 22 Всего: 53 |
хм.. а мастеры разве не умеют идентифицировать себя как браузеры? |
|||
|
||||
Bikutoru |
|
|||
Увлекающийся ![]() ![]() Профиль Группа: Участник Сообщений: 522 Регистрация: 24.5.2005 Где: Москва Репутация: 8 Всего: 22 |
А если попробовать так:
1. Посетитель заходит на страницу. 2. Сервер запоминает этого посетителя (например сессией) и делает редирект на другую страницу. 3. На странице, куда мы перешли, проверяется был ил такой посетитель на странице загрузки и, если был, бросается Content-Disposition: attach и передаётся файл. Т.е., у меня вся идея в редиректе. Смогут даунлоад-менеджеры это обойти? -------------------- Человек, словно в зеркале мир — многолик, Он ничтожен — и он же безмерно велик! Омар Хайям |
|||
|
||||
Coder |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 733 Регистрация: 13.12.2004 Репутация: нет Всего: 11 |
Mal Hack
Irokez а как их анализировать, может у кого есть кусок когового кода? |
|||
|
||||
S.A.P. |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2664 Регистрация: 11.6.2004 Репутация: 3 Всего: 71 |
Сейчас почти все нормальные менеджеры закачек иденцифицируют себя как браузеры и подделывают реферер. Вот я на одном сайте видел защиту, которая не позволяла закачать его в несколько потоков длительное время. Закачиваю через Offline Explorer, а там всех странцах написано, мол тю-тю
![]() ![]() |
|||
|
||||
Mal Hack |
|
|||
![]() Мудрый... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 122 Всего: 261 |
Perchilla
это на уровне сервера делается, причем стандартными средствами ![]() (вроде как) |
|||
|
||||
S.A.P. |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2664 Регистрация: 11.6.2004 Репутация: 3 Всего: 71 |
У меня еще была идея все страницы выдавать через один скрипт и если с одного IP сразу по 20 запросов за 5 секунд идет, то отрубать
![]() Coder а зачем тебе блокировать файл на скачивание? Чтобы его не скачали чтоли? ![]() Это сообщение отредактировал(а) Perchilla - 19.7.2005, 11:21 |
|||
|
||||
Coder |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 733 Регистрация: 13.12.2004 Репутация: нет Всего: 11 |
Да, я отдаю файл специальным скриптом. Ну а если его можно будет скачать напрямую, то вся моя система рушится... ![]() |
|||
|
||||
S.A.P. |
|
||||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2664 Регистрация: 11.6.2004 Репутация: 3 Всего: 71 |
Тогда можешь попробовать сделать так: при попытке скачивания, появляется страница с заренее сформированной шифрованной ссылкой на скачивание, которая будет доступна только одному IP адресу...
типа download.php?file=file.zip&code=rtye54tghwy7
Это чтобы ссылку нельзя было никому передать. Как вариант.... Добавлено @ 02:16
Это сообщение отредактировал(а) Perchilla - 20.7.2005, 02:17 |
||||
|
|||||
Coder |
|
||||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 733 Регистрация: 13.12.2004 Репутация: нет Всего: 11 |
так вот как это сделать?
я делаю что-то типа скачивания по паролю (может мне сразу это надо было написать ![]() Система такая: 1) Зайдя пользователь вводить Имя и Пароль (или что-то другое - суть не в этом); 2) Скрипт читает счетчик обращений к файлу, если он больше 1, то случайно переименовывается файл и exit(); 2.1) В любом случае увеличивается счетчик; 2.2) Отправляется мне письмо, что кто то пытался или скачал файл; 3. Если Имя и Пароль совпадают с хранящимися с базой (text file), то отдается ПРЯМАЯ ссылка на файл (имя имеет маску *******.zip); Так вот после отдачи прямой ссылки на файл и временем пока не выполнится еще раз п.2 (т.е. файл не переименуется) или я сам его не переименую можно будет качать файл по ссылке возвращенной в п.3. Вот зачем и почему мне нужна блокировка. |
||||
|
|||||
Mal Hack |
|
|||
![]() Мудрый... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 122 Всего: 261 |
В продолжение похожей темы: http://forum.vingrad.ru/index.php?showtopi...=0entry472352
Есть страница, там ты показываешь ссылку на download.php, где передаешь качестве параметр ID файла в БД. Затем через download.php ты в БД записывашь ID файла, время, уникальный код - Ashdgw37gdug73gui3, и IP пользователя для скачивания. И генерируешь ссылку на этот же download.php но с параметром file=Ashdgw37gdug73gui3. Из БД ты выбираешь строку с этим кодом. Проверяешь IP пользователя. Если совпадают, уже посылаешь файл пользователю. НО, обязательное условие. ФИЗИЧЕСКОЕ имя файла должно ОТЛИЧАТЬСЯ от имени, под которым ты посылаешь файл пользователю. |
|||
|
||||
Coder |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 733 Регистрация: 13.12.2004 Репутация: нет Всего: 11 |
Допустим, но при загрузке например в DownloadMester все равно вылезет настоящее имя файла. Вот по этому я и хочу блокировать.
|
|||
|
||||
![]() ![]() ![]() |
Правила форума "PHP" | |
|
Новичкам:
Важно:
Внимание:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | PHP: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |