首页 文章

通过.htaccess防止通过CSS进行热链接

提问于
浏览
0

我以这种方式设置我的htaccess来阻止热链接:

RewriteCond%!^ http://( . )?mydomain.com/ [NC]
RewriteCond%
!^ $
RewriteRule . * . (bmp | dtd | flv | jpeg | jpg | gif | png | psd | swf | tif | txt | mov | mpeg | mp3 | xml)$ - [F,NC,L]

问题是它通过HTML(例如<img>标签)完美地运行,但它不会阻止通过CSS进行热链接(例如,背景图像网址)

所以这里是对我的意思的澄清:

服务器A(我的域名)
服务器B(另一个域)

服务器A托管文件/myfile.jpg
服务器B托管css文件/mycss.css

服务器B CSS文件包含background-image:url('server-A / myfile.jpg');这个CSS规则有效...它从服务器A加载jpg文件 . 如果服务器B也有一个<img src =“server-A / myfile.jpg”>,它将无法加载 . 它只适用于CSS . 它不适用于EITHER .

1 回答

  • 0

    当你说“不阻止通过CSS进行热链接”时,你的意思是1)其他人仍然可以将你现有的CSS文件与他们的页面一起使用,或者2)其他人可以将你的图像放在他们自己的CSS文件中吗?

    如果1)可能是图像提取的引用者标头是CSS文件本身,它将来自您的服务器,因此将失败第一个RewriteCond规则并且不会阻止提取 .

相关问题