Использование.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? Спасибо!

2 ответа

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

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

Так что вы соответствуете тому, что машина считает хозяином?

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

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

Другие вопросы по тегам