在Nginx上配置圖片防盜鏈非常簡單,通過用戶客戶端http請求頭中的Referer信息來做爲主要判斷,如果圖片鏈接嵌套在非指定的網站上,可以限制其訪問。
主要配置代碼如下:
- location ~*\.(gif|jpg|jpeg|png|bmp|swf)$ {
- valid_referers none blocked *.yourname.com;
- if ($invalid_referer) {
- rewrite ^/ http://youname.com/error.html;
- #return 403;
- }
- }
以上代碼解釋如下:
1、location中指定要防篡改的文件類型;
2、valid_referers指定資源訪問是通過以下幾種方式爲合法
none:直接通過url訪問,無referer值的情況
blocked:referer值被防火牆修改
servername:指定資源在合法的url中可以被引用,支持*通配符
3、if判斷如果用戶請求的資源不符合上述配置,那麼rewrite重定向到你想指定的url上,也可以配置403權限錯誤。
通過上述配置可以避免網站大部分資源盜鏈的情況。