Использование.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 или чем-либо еще, а также перенаправлением вашей системы. отправляет обратно на самом деле.