php referer 防盜鏈
初級(jí)的php程序員一定會(huì)想到,包括我在寫這篇文章前
if($_SERVER['HTTP_REFERER']?...)?//然后正則匹配也好,判斷也好 { header('XXX'); }
可是這樣只不過(guò)是自欺欺人,防盜鏈的目的,并不只是防止其他頁(yè)面引用,而是緩解自家網(wǎng)站的壓力
這樣的寫法,僅僅在一部分上緩解服務(wù)器壓力,可是服務(wù)器依然要解析php,處理php,無(wú)法真正達(dá)到緩解服務(wù)器壓力的目的
防盜鏈應(yīng)該要從服務(wù)器入手配置
當(dāng)然了,剛開始學(xué)習(xí)肯定是apache了
第一步,打開apache的httpd.conf文件
LoadModule rewrite_module modules/mod_rewrite.so 把這句開頭的#號(hào)去掉
重啟
第二步,在網(wǎng)站的目錄下 創(chuàng)建 .htaccess 文件,普通的 右鍵 新建文件方式是行不通(windows系統(tǒng)),可以打開記事本
然后另存為,選擇文件類型為所有文件,然后輸入文件名
第三步.打開.htaccess 文件
寫入
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} .*.(jpg|jpeg|gif|png) [NC]
RewriteCond %{HTTP_REFERER} !localhost [NC] ? ? ? ? ? ? ? ? ? ?把localhost 換成你網(wǎng)站的域名
RewriteRule .* ?小子別盜鏈.jpg ? ? ? ? ? ? ? 換成你想讓對(duì)方看的圖片
這樣只要?jiǎng)e人在網(wǎng)站引用的你網(wǎng)站上的圖片,就只會(huì)顯示 小子別盜鏈.jpg 內(nèi)容
這只是 mod_rewrite 模塊的一小個(gè)功能,說(shuō)php好學(xué)的人,也只不過(guò)是了解了一小小部分而已.