2016-03-13 109 views
1

我想阻止人們通過在瀏覽器地址欄中輸入網址來獲取我網站的圖像,同時允許他們在訪問網頁時查看圖像。防止直接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?,但是我沒有足夠的信譽去問這個帖子,因爲我剛剛創建了這個賬戶來發布這個問題。

謝謝。

+1

這的.htaccess規則將允許直接訪問,如果試圖加載圖片的網頁位於本地主機或www。 localhost。*。我可以看到,在你引用的問題中提到了這個問題,並且可能適用於該OP,但是你自己的站點位於localhost或www.localhost。*?這可能是問題所在。 – stratedge

回答

0

如果您直接訪問圖像,但允許它們在現場顯示,則返回403(禁止)。它有效,但測試可能會非常棘手/誤導。閱讀關於它在questions/10236717/htaccess-how-to-prevent-a-file-from-direct-url-access

的另一種方式,以防止盜鏈是這樣的(來自:htaccess generators

RewriteEngine on 
RewriteCond %{HTTP_REFERER} !^$ 
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?yourdomain.com [NC] 
RewriteRule \.(jpg|jpeg|png|gif)$ - [NC,F,L]