2012-10-10 2 views
2

Я сейчас перехожу с сервера Linux (Apache) в Windows (IIS). В Linux я использую файл .htaccess, чтобы проверить значение HTTP_REFERER, чтобы обеспечить наши файлы только загружается с нашего сайта, и не связаны с других сайтов:Проверьте HTTP_REFERER на сервере Windows

RewriteEngine on 
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?foo.com [NC] 
RewriteRule \.(dcr)$ - [NC,F,L] 

Как я могу сделать это на Windows-машина? (Windows Server 2008 R2, IIS 7)

ответ

1

Посмотрите на точку № 6 по следующему адресу:

http://blogs.iis.net/ruslany/archive/2009/04/08/10-url-rewriting-tips-and-tricks.aspx

В общем, вам нужно установить IIS URL Rewrite дополнения и создать правило, которое выглядит примерно так:

<rule name="Prevent image hotlinking"> 
    <match url=".*\.(gif|jpg|png)$"/> 
    <conditions> 
    <add input="{HTTP_REFERER}" pattern="^$" negate="true" /> 
    <add input="{HTTP_REFERER}" pattern="^http://foo\.com/.*$" negate="true" /> 
    </conditions> 
    <action type="Rewrite" url="/images/say_no_to_hotlinking.jpg" /> 
</rule> 

Ваше правило может выглядеть немного иначе. С URL Rewrite вы также можете взять свое текущее правило .htaccess и импортировать его напрямую в качестве нового правила. Он будет обрабатывать перевод для вас, хотя в зависимости от ваших целей вам может потребоваться внести незначительные изменения в получаемые в результате правила.

Надеюсь, что это поможет.

+0

Отлично, я думаю, это то, что я ищу. Спасибо, Стив. –

Смежные вопросы