首頁  >  文章  >  後端開發  >  php如何禁止外部盜鏈

php如何禁止外部盜鏈

藏色散人
藏色散人原創
2020-08-27 09:25:312953瀏覽

php禁止外部盜鏈的方法:先找到並開啟「.htaccess」檔案;然後在該檔案中新增內容為「RewriteEngine on RewriteCond %{HTTP_REFERER} !^$ [NC]」;最後儲存該文件即可。

php如何禁止外部盜鏈

推薦:《PHP影片教學》 

PHP防止盜鏈的方法

防盜鏈的技術已經很普遍了,有些網站不喜歡自己的圖片被別的網站直接複製使用,便使用了防盜鏈的技術,這樣別人在直接複製使用網站圖片時,圖片便會依照程式的設定不顯示或顯示防盜鍊等字樣。

使用了防盜鏈技術,不僅可以防止自己的圖片被盜用,也可以節省自己網站下載圖片的流量,覺得還蠻不錯的說,那麼在PHP環境下該如何防止盜鏈呢?在PHP環境下我們知道通常都是使用Apache伺服器,那麼主要看下Apache防盜鏈的方法吧,其實IIS也是同一個原理。

Apache防盜鏈:

大多數的虛擬主機都是Apache的,因此最方便的防盜鏈設定莫過於利用.htaccess檔了。網路搜尋下方法很多,於是我總結了下,絕對好用的方法。把下面的程式碼加到.htaccess檔裡,修改下即可。

RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$ [NC]
RewriteCond %{HTTP_REFERER} !60ie.net [NC]
RewriteCond %{HTTP_REFERER} !youdao.com [NC]
RewriteCond %{HTTP_REFERER} !zhuaxia.com [NC]
RewriteCond %{HTTP_REFERER} !twitter.com [NC]
RewriteCond %{HTTP_REFERER} !facebook.com [NC]
RewriteCond %{HTTP_REFERER} !xianguo.com [NC]
RewriteCond %{HTTP_REFERER} !google.cn [NC]
RewriteCond %{HTTP_REFERER} !google.com [NC]
RewriteCond %{HTTP_REFERER} !google.com.tw [NC]
RewriteCond %{HTTP_REFERER} !google.com.sg [NC]
RewriteCond %{HTTP_REFERER} !google.com.hk [NC]
RewriteCond %{HTTP_REFERER} !bloglines.com [NC]
RewriteCond %{HTTP_REFERER} !soso.com [NC]
RewriteCond %{HTTP_REFERER} !mail.qq.com [NC]
RewriteCond %{HTTP_REFERER} !cn.bing.com [NC]
RewriteCond %{HTTP_REFERER} !image.baidu.com [NC]
RewriteCond %{HTTP_REFERER} !feedburner.com [NC]
RewriteCond %{HTTP_REFERER} !feedsky.com [NC]
RewriteRule .(png|jpg|gif)$ [R,NC,L]

程式碼解釋:

先看最後一行,我對網站上的png、jpg、gif檔案做了防盜鏈保護,一旦我網站裡的圖片在上述白名單之外的網站出現,全部顯示最後一行程式碼中的圖片。

Nginx防盜鏈:

Nginx不支援.htaccess,設定起來稍微麻煩了點。首先要用文字編輯器開啟/usr/local/nginx/conf/nginx.conf這個檔案(如果你使用的是vhost,則到vhost裡找對應的conf檔

),將如下程式碼配對在server{ }段裡面即可,注意我說的不是拷貝,而是配對。

location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
{
expires 30d;
valid_referers none blocked *.ilucong.com *.youdao.com *.zhuaxia.com *.xianguo.com *.google.cn *.google.com *.google.com.tw *.google.com.sg *.google.com.hk
*.bloglines.com image.soso.com cn.bing.com image.baidu.com *.feedburner.com *.feedsky.com;
if ($invalid_referer) {
rewrite ^/ ;
#return 404;
}
}

注意:盡量不要使用windows自帶的記事本編輯,可能會出現亂行;編輯完之後,重啟Ngnix服務方可生效

以上是php如何禁止外部盜鏈的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn