Назад | Перейти на главную страницу

Использование .htaccess для защиты прямого доступа к файлам

Нам необходимо предотвратить прямой доступ к файлам на нашем сайте для тех, кто просто вводит URL-адрес в своем браузере. Я заставил это работать, используя файл htaccess, и это нормально в IE и Safari, но по какой-то причине Firefox не сотрудничает. Я думаю, это как-то связано с тем, как Firefox сообщает о реферерах.

Вот мой код в файле .htaccess.

RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_REFERER} !^http://(my\.)?bigtimbermedia\.com/.*$ [NC]
RewriteRule \.(swf|gif|png|jpg|doc|xls|pdf|html|htm|xlsx|docx)$ http://my.bigtimbermedia.com/ [R,L]

Если вы хотите увидеть пример этого, попробуйте сначала получить доступ к этому ... http://my.bigtimbermedia.com/books/bpGreyWolvesflip/index.html

Он правильно блокирует его во всех браузерах.

Теперь, если вы перейдете по этому URL-адресу и нажмете ссылку, он будет работать в IE и Safari, но Firefox задыхается и кажется, что он зациклился.

Есть идеи, как я могу заставить это работать в Firefox? Спасибо!

Не могли бы вы просто использовать

RewriteCond %{HTTP_REFERER} !^%{HTTP_HOST}$ [NC]

Чтобы вы соответствовали тому, что машина считает хостом?

RewriteCond% {HTTP_REFERER}! ^http: // (мой.)? bigtimbermedia.com/. * $ [NC]

Не тестировав его - ваше правило перезаписи выглядит немного забавно - я бы запустил его через paros или fiddler и посмотрел, в чем разница между запросами, которые отправляет firefox, и IE, Opera или что-то еще, а также то, что перенаправляет ваша система отправляет обратно на самом деле.