【发布时间】:2016-06-28 05:55:13
【问题描述】:
我想防止人们通过在浏览器地址栏中输入 URL 来获取我网站的图像,同时允许他们在访问网页时查看图像。
我尝试了以下 .htaccess 代码:
RewriteEngine on
RewriteCond %{HTTP_REFERER} !^http://(www\.)?localhost [NC]
RewriteCond %{HTTP_REFERER} !^http://(www\.)?localhost.*$ [NC]
RewriteRule \.(gif|jpg|png)$ - [F]
但是,它不仅限制了直接 URL 访问,而且即使在访问网页时也会隐藏所有图像。现在我的网站看起来像一个带有很多图像漏洞的文本页面。
谁能告诉我为什么上面的 .htaccess 不起作用?
我在这里(htaccess) How to prevent a file from DIRECT URL ACCESS? 找到它,但我没有足够的声誉在那个帖子中提问,因为我刚刚创建了这个帐户来发布这个问题。
谢谢。
【问题讨论】:
-
如果试图加载图像的页面位于 localhost 或 www.localhost.*,该 .htaccess 规则将允许直接访问。我可以看到您引用的问题中建议了这一点,并且可能适用于该 OP,但是您自己的站点是位于 localhost 还是 www.localhost.*?这可能是问题所在。