htaccess阻止来自热链接图像的域

时间:2016-10-04 07:30:35

标签: .htaccess

我屏蔽了文件中的一些网站,但是他们一直在我的服务器上,并要求图片减慢我的服务器如何为他们添加规则,以便他们看到大红色标志STOP HOTLINKING

RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} ^http://(www\.)?somesite\.pl [NC,OR]
RewriteCond %{HTTP_REFERER} ^http://(www\.)?somesite\.pl [NC,OR]
RewriteCond %{HTTP_REFERER} ^http://(www\.)?somesite\.pl [NC,OR]
RewriteCond %{HTTP_REFERER} ^http://(www\.)?sklep.somesite\.eu [NC]
RewriteRule \.(gif|jpe?g|js|css)$ - [F,NC,L]

1 个答案:

答案 0 :(得分:3)

Mate尝试下面的内容,

以下代码仅允许提及的域名#34; alloweddomain.com"并阻止其他人进行热链接

RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?alloweddomain.com [NC]
RewriteRule \.(jpg|jpeg|png|gif)$ - [NC,F,L]

以上代码将允许"空白推荐人"

什么是空白推荐人?

某些访问者使用个人防火墙或防病毒程序,删除Web浏览器发送的页面引用者信息。 Hotlink保护基于此信息。因此,如果您选择不允许空白引荐来源,则会阻止这些用户。您还可以通过在浏览器中输入URL来阻止人们直接访问图像。

假设您不想允许"空白推荐人" 然后使用以下代码配对

RewriteEngine on
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?alloweddomain.com [NC]
RewriteRule \.(jpg|jpeg|png|gif)$ - [NC,F,L]

此外,如果您想显示"停止热线" 等图像,请使用以下方法

RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?alloweddomain.com [NC]
RewriteRule \.(jpg|jpeg|png|gif)$ mydomain.com/img/stop_hotlink.jpg [NC,R,L]

以上代码将允许"空白引荐来" 。如果不允许,请再次按照上一步骤中的说明进行操作。

请注意:

  

如果显示图像"停止HOTLINK"确保图像不受热链接保护,或者您的服务器可以进入无限循环。

alloweddomain.com - The domain that you want to allow for hotlink
mydomain.com/img/stop_hotlink.jpg - URL for the "STOP HOTLINK" image

更新: [特定于块的域名]

仅停止来自特定外部域的热链接,例如blockurl1.com,blockurl2.com和blockurl3.com,但允许任何其他网站热链接图片:

RewriteEngine On
RewriteCond %{HTTP_REFERER} ^http://(.+\.)?blockurl1\.com/ [NC,OR]
RewriteCond %{HTTP_REFERER} ^http://(.+\.)?blockurl2\.com/ [NC,OR]
RewriteCond %{HTTP_REFERER} ^http://(.+\.)?blockurl3\.com/ [NC]
RewriteCond %{REQUEST_URI} !blocked\.gif$ [NC]
RewriteRule .*\.(jpe?g|gif|bmp|png)$ http://example.com/blocked.gif [L]

您可以根据需要添加任意数量的不同域。每个RewriteCond行应以[NC,OR]代码结束。 NC意味着忽略大小写。 OR表示"或下一个",如下所示,匹配此域或后续的下一行。列出的最后一个域省略了OR代码,因为您想在最后一个RewriteCond行之后停止匹配域。

最后一行包含网址" http://example.com/blocked.gif"其中包含条件发生时将显示的图像。

您可以显示403 Forbidden错误代码而不是图像。用这一行替换前面例子的最后一行:

RewriteRule .*\.(jpe?g|gif|bmp|png)$ - [F]

希望这有助于你交配!