使用Apache的htaccess防止圖片被盜鏈的解決方法
方法一:
所需要的命令如下:
RewriteEngine on
RewriteCond %{ HTTP_REFERER } !^$
RewriteCond %{ HTTP_REFERER } !^http://(www.)?simue.com /.*$ [NC]
RewriteRule .(gif &line;jpg)$ - [F]
如果覺(jué)得讓別人的頁(yè)面開(kāi)個(gè)天窗不好看,那可以用一張圖片來(lái)代替:
查看代碼
RewriteEngine on
RewriteCond %{ HTTP_REFERER } !^$
RewriteCond %{ HTTP_REFERER } !^http://(www.)?simue.com/.*$ [NC]
RewriteRule .(gif &line;jpg)$ http://www.simue.com /替代圖片文件名 [R,L]
需要注意的是,如果通過(guò)FTP方式將創(chuàng)建好的.htaccess上傳到服務(wù)器上,傳輸模式應(yīng)為ASCII而非Binary。上傳到服務(wù)器后,應(yīng)將其屬性通過(guò) CHMOD修改為644 或“RW-R–R–”,這樣,可以保證服務(wù)器能夠使用同時(shí)無(wú)法通過(guò)瀏覽器修改,當(dāng)然,.htaccess的可讀屬性也存在一定的風(fēng)險(xiǎn):攻擊者可通過(guò)它找出 您要保護(hù)的對(duì)象或認(rèn)證文件位置——解決辦法是將認(rèn)證文件.htpasswd放到網(wǎng)站根目錄之外,這樣,便無(wú)法通過(guò)網(wǎng)絡(luò)找到它了。
方法二:
查看代碼01 RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$ [NC]
RewriteCond %{HTTP_REFERER} !simue.com [NC]
RewriteCond %{HTTP_REFERER} !baidu.com [NC]
RewriteCond %{HTTP_REFERER} !google.com [NC]
RewriteRule .*\.(gif|jpg)$ http://www.simue.com /no.png [R,NC,L]
簡(jiǎn)單的解釋一下上述語(yǔ)句:
1、RewriteCond %{HTTP_REFERER} !^$ [NC]
允許空“HTTP_REFERER”的訪(fǎng)問(wèn),即允許用戶(hù)在瀏覽器地址欄中直接輸入圖片地址時(shí)圖片文件的顯示。一般而言,這是可選的,不過(guò),建議這么設(shè)置,如果強(qiáng)迫必須具有“HTTP_REFERER”才能訪(fǎng)問(wèn),可能會(huì)帶來(lái)某些問(wèn)題,比如說(shuō)在用戶(hù)通過(guò)代理服務(wù)器訪(fǎng)問(wèn)時(shí)。
2、RewriteCond %{HTTP_REFERER} !simue.com [NC]
設(shè)置允許訪(fǎng)問(wèn)的HTTP來(lái)源,包括我們的網(wǎng)站 自身、Google、Baidu等。
3、RewriteRule .*\.(gif|jpg|png)$ http://www.simue.com/no.png [R,NC,L]
定義被盜鏈時(shí)替代的圖片,讓所有盜鏈 jpg、gif、png 等文件的網(wǎng)頁(yè),顯示根目錄下的 no.png 文件。注意:替換顯示的圖片不要放在設(shè)置防盜鏈的目錄中,并且該圖片文件體積越小越好。當(dāng)然你也可以不設(shè)置替換圖片,而是使用下面的語(yǔ)句即可:
RewriteRule .*\.(gif|jpg|png)$ - [F]
4、說(shuō)明一下其中的R、NC 和 L
R 就是轉(zhuǎn)向的意思
NC 指的是不區(qū)分大小寫(xiě)
L 的作用是指明本次轉(zhuǎn)向到此結(jié)束,后續(xù)的轉(zhuǎn)向不受先前判斷語(yǔ)句的影響
5、防止盜鏈的文件類(lèi)型
上例中是 gif、jpg、png,而根據(jù)需要,可更改或添加其他文件類(lèi)型,如rar、swf等,不同文件擴(kuò)展名間使用“|”分割。
相關(guān)文章
Laravel Validator 實(shí)現(xiàn)兩個(gè)或多個(gè)字段聯(lián)合索引唯一
這篇文章主要介紹了Laravel Validator 兩個(gè)或多個(gè)字段聯(lián)合索引唯一,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-05-05
PHP使用fopen與file_get_contents讀取文件實(shí)例分享
這篇文章主要介紹了PHP使用fopen與file_get_contents讀取文件實(shí)例分享的相關(guān)資料,需要的朋友可以參考下2016-03-03
yii2中dropDownList實(shí)現(xiàn)二級(jí)和三級(jí)聯(lián)動(dòng)寫(xiě)法
本篇文章主要介紹了yii2中dropDownList實(shí)現(xiàn)二級(jí)和三級(jí)聯(lián)動(dòng)寫(xiě)法 ,非常具有實(shí)用價(jià)值,需要的朋友可以參考下2017-04-04
2個(gè)Codeigniter文件批量上傳控制器寫(xiě)法例子
這篇文章主要介紹了2個(gè)Codeigniter文件批量上傳控制器寫(xiě)法例子,需要的朋友可以參考下2014-07-07

