我有跟隨.htaccess
內upload
目錄:拒絕直接訪問,但允許普通的HTML
order allow,deny
deny from all
我想允許<img src="upload/image.png" />
,但得到forbbiden錯誤(403)。
我如何拒絕直接訪問,但允許html「包含」(普通html)?
我有跟隨.htaccess
內upload
目錄:拒絕直接訪問,但允許普通的HTML
order allow,deny
deny from all
我想允許<img src="upload/image.png" />
,但得到forbbiden錯誤(403)。
我如何拒絕直接訪問,但允許html「包含」(普通html)?
你不能(可靠地)。
無論是直接查看還是作爲<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'
你需要在mod_rewrite的,
RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://(www\.)?mydomain.com/.*$ [NC]
RewriteRule \.(gif|jpg|js|css)$ - [F]
一定要與自己更換 「mydomain.com」。
你想完成什麼?你可以用base64對圖像進行編碼,並將它們放置在img標籤的src屬性本身內,使用類似於此處所做的技術:http://www.greywyvern.com/code/php/binary2base64
可能有更高級的方法來遮蔽圖像數據,但最終不能不要讓那些想要破解的人保持它。
我不希望我的用戶直接訪問這些文件。通過這種方式,所有來自我的域名的直接訪問都將被允許。 –