Как сделать так, чтобы файл можно было скачать только со страниц моего сайта, а лучше всего - с определенной страницы.
Например, ссылка http://www.mysait.ru/dirname/file.zip, срабатывала только при переходе на нее со страниц(ы) моего сайта, а размещенная на другом сайте не срабатывала?
Есть антилич, найденный на http://galakteko.com/2008/05/26/antilich-anti-leech/, но он у меня не сработывает.
Может быть есть модуль такой для защиты ссылок от внешних скачиваний?
Комментарии
Если я правильно вас понял, то вам следует почитать тут : http://htaccess.net.ru/
У меня уже коллекция файлов .хтассес, написанных хостером, выдающих в результате ошибку 500.
Есть такой:
RewriteCond %{REQUEST_URI} ^/dirname/file.zip$
RewriteCond %{HTTP_REFERER}
!^http://(www\.)?mysait.ru/member_zone/protected\.php [NC]
RewriteRule .* - [F,L]
Еще вот такой:
RewriteEngine On
RewriteCond %{HTTP_REFERER} !^http://(www.)?mysit.ru/upload.php.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http://(www.)?mysit.ru/send.php.*$
RewriteRule send.php upload.php
И такой, сразу на несколько страниц
RewriteCond %{HTTP_REFERER} !^http://(www.)?mysait.ru/member_zone/protected.php.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http://(www.)?mysait.ru/a[0-9].html.*$
RewriteRule a([0-9]+).html - [F]
Хотелось бы все-таки антилич. Есть же файловые архивы на друпале или сайты с оплатой смс, они как-то защищаются от внешних скачиваний. Как?
А, так Вы про временную ссылку! ) Думаю файловый архив - может быть только защищен .хтаксесс а вот смс - то там как раз эта фишка. Но вот под друпал этого модуля не нашел
ЗЫ
referer - модифицируется
делал через private метод скачивания файлов, это в настройках Drupal ставится, тогда файл не Apache а Drupal вручную отдает и можно вклинить проверки нужные хуком _download
Спасибо за ответ,
а что за хук _download, что писать и главное где??? Прошу подсказку:)
use api.drupal.org
http://api.drupal.org/api/function/hook_file_download/5
вставлять в свой модуль)
да, именно так, пример реализации _download можно посмотреть в стандартном модуле upload
чтоб ничего не писать можно поставить Private-метод, директорию под файлы сделать выше DOCUMENT_ROOT и дать права на скачивание файлов только зарегистрированным пользователям, файлы прикреплять к нодам модулем upload, а общедоступные файлы просто вручную выкладывать ниже DOCUMENT_ROOT и прямые ссылки ставить