我.htaccess
在upload
目录中有以下内容:
order allow,deny
deny from all
我想允许<img src="upload/image.png" />
但得到禁止错误(403)。
如何拒绝直接访问但允许 html“包含”(常规 html)?
我.htaccess
在upload
目录中有以下内容:
order allow,deny
deny from all
我想允许<img src="upload/image.png" />
但得到禁止错误(403)。
如何拒绝直接访问但允许 html“包含”(常规 html)?
你需要打开 mod_rewrite,
RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://(www\.)?mydomain.com/.*$ [NC]
RewriteRule \.(gif|jpg|js|css)$ - [F]
请务必将“mydomain.com”替换为您自己的。
你不能(可靠地)。
无论是直接查看还是作为<img>
标签查看,浏览器仍然会向 发出请求http://yoursite.example.com/upload/image.png
,这两个请求对于服务器而言基本上是相同的。
现在在大多数浏览器中,来自<img>
标签的请求将伴随一个Referer:
HTTP 标头,您可以在 Apache 配置中使用它来过滤这些请求,但是:
curl -e 'http://my_referer.example.com' 'http://yoursite.example.com/upload/image.png'
你想达到什么目的?您可以使用类似于此处所做的技术对图像进行base64编码并将它们放置在img标签的src属性中:http: //www.greywyvern.com/code/php/binary2base64
可能有更高级的方法来隐藏图像数据,但最终你无法阻止想要破解的人。