htaccess 防止热链接也可以防止外部链接

2024-04-01

我在 .htaccess 文件中添加了这段代码,以防止图像和 pdf 文件的热链接,但它也会阻止正常的外部链接工作。 我的 htaccess 文件:

RewriteEngine On
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://(www\.)?mywebsite.com/.*$ [NC]
RewriteRule .*\.(gif|jpg|pdf|png)$ http://www.mywebsite.com/images/notallowed.jpe [NC,R,L]

问题是,一个合法的外部链接说一个 pdf 文件将导致出现替换图像而不是 pdf 文件。 这是正常现象还是我做错/遗漏了什么? 提前致谢。


我想尝试一下...

RewriteCond %{HTTP_REFERER} ^$ [OR]
RewriteCond %{HTTP_REFERER} !^https?://(?:www\.)?mywebsite\.com(?:$|/) [NC] [OR]
# Repeat the next line as needed for each allowed site
RewriteCond %{HTTP_REFERER} !^https?://(?:www\.)?allowedsite1\.com(?:$|/) [NC] [OR]
RewriteCond %{HTTP_REFERER} !^https?://(?:www\.)?allowedsite2\.com(?:$|/) [NC]
RewriteRule ^(.*)\.(gif|jpg|pdf|png) http://www.mywebsite.com/images/notallowed.jpe [NC,R,L]

手动添加每个允许的站点可能有点不方便,但它should给你一些控制权...其他可能的缺点是,例如,访问原始图像的人必须通过网站内找到的现有链接来执行此操作。

示例:打字http://www.mywebsite.com/logo.png进入您的浏览器并尝试directly查看文件logo.png行不通,but如果您单击,查看同一文件应该不会有问题<a href="http://www.mywebsite.com/logo.png"><img src="http://www.mywebsite.com/logo.png" /></a>.

希望能帮助某人...

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

htaccess 防止热链接也可以防止外部链接 的相关文章

随机推荐