防盜鏈分爲兩種:一種是url防盜鏈,一種是模塊防盜鏈php
一、url配置:算法
valid_referers none blocked server_names location ~*\.(jpg|png)$ { valid_referers none blocked 192.168.1.7; if ($invalid_referer){ rewrite ^/ http://www.baidu.com; #return 403; } }
二、模塊配置:ide
location /download { accesskey on; accesskey_hashmethod md5; accesskey_arg "key"; accesskey_signature "mypass$remote_addr"; }
其中:
accesskey爲模塊開關;
accesskey_hashmethod爲加密方式MD5或者SHA-1;
accesskey_arg爲url中的關鍵字參數;
accesskey_signature爲加密值,此處爲mypass和訪問IP構成的字符串。測試
訪問測試頁面:加密
<?php $ipkey= md5("mypass".$_SERVER['REMOTE_ADDR']); //$ipkey生成的算法要跟配置文件的設置保持一致 $output_add_key="<a href=http://www.demo.cn/download/G3200507120520LM.rar?key=".$ipkey."> download_add_key</a>"; $output_org_url="<a href=http://www.demo.cn/download/G3200507120520LM.rar>download_org_path</a>"; echo $output_add_key; echo $output_org_url; ?>
訪問第一個download_add_key連接能夠正常下載、訪問,第二個連接download_org_path會返回403 Forbidden錯誤。url
參考連接:http://blog.bwphp.cn/?p=455server