htaccess 阻止域名盗链图片

2 .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]
Run Code Online (Sandbox Code Playgroud)

Raj*_*pal 5

伙伴尝试以下,

以下代码将只允许提到的域“alloweddomain.com”并阻止其他人进行热链接

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

上面的代码将允许“空白推荐人”

什么是空白推荐人?

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

假设您不想允许“Blank Referrers”,则使用以下代码伙伴

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

另外,如果您想显示像“STOP HOTLINKING”这样的图像,请使用以下方法

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]
Run Code Online (Sandbox Code Playgroud)

上面的代码将允许"Blank Referrers"。如果不允许,请再次按照上一步中的说明进行操作。

注意 :

如果显示“STOP HOTLINK”图像,请确保图像不受热链接保护,否则您的服务器可能会进入无限循环。

alloweddomain.com - The domain that you want to allow for hotlink
mydomain.com/img/stop_hotlink.jpg - URL for the "STOP HOTLINK" image
Run Code Online (Sandbox Code Playgroud)

更新: [阻止特定域]

仅停止来自特定外部域的热链接,例如 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]
Run Code Online (Sandbox Code Playgroud)

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

最后一行包含 URL“ http://example.com/blocked.gif ”,其中包含将在条件发生时显示的图像。

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

RewriteRule .*\.(jpe?g|gif|bmp|png)$ - [F]
Run Code Online (Sandbox Code Playgroud)

希望这对你有帮助!