基於http_refer防盜鏈配置模塊
Syntax:valid_referers none | blocked | server_names | string ...;
Default:——
Context:server,location
HTTP Referer是header的一部分,當瀏覽器向web服務器發送請求的時候,一般會帶上Referer,告訴服務器我是從哪個頁面鏈接過來的,服務器籍此可以獲得一些信息用於處理。比如從我主頁上鏈接到一個朋友那里,他的服務器就能夠從HTTP Referer中統計出每天有多少用戶點擊我主頁上的鏈接訪問他的網站。
設置防盜鏈的作用是為了防止,視頻、圖片...防止被其他網站盜用
配置語句
one代表沒有referer;blocded代表有referer但是被防火牆或者是代理給去除了。
首先當我輸入我要打開的網址的時候,因為是直接輸入的沒有referer所以匹配了
valid_referers后面的none或者是blocked 所以invalid_referer值為0 所以不進行跳轉.
當我是從這個網站里面的鏈接跳到該網站首頁的時候 因為referer的值是肯定包含srever_names 所以匹配了server_names所以不進行跳轉。
當我從搜素引擎進去的時候因為referer字段類似於www.google.com.hk/search
開始進行匹配 發現沒有一個匹配,則此時會設置invalid_referer值為1 if語句成功執行,進行了跳轉. 達到功能
測試
使用curl 命令
curl -e "http://192.168.96.188" -I http://192.168.96.188/test.png,報403錯誤
curl -e "http://192.168.96.135" -I http://192.168.96.188/test.png,可正常訪問