ATS中开启Refer防盗链功能
生活随笔
收集整理的這篇文章主要介紹了
ATS中开启Refer防盗链功能
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
ATS默認提供了對Referer頭的http request的防盜鏈功能,主要應用于圖片,對視頻等會使用級別更高的防盜鏈功能,比如事先約定好key,采用md5或HMAC-Sha1算法加密等。
在remap.config中按如下格式設置:
map_with_referer client-URL origin-server-URL redirect-URL regex1 [regex2 ...]配置
同時需要在records.config中做如下相應配置:
啟用deep linking protection
CONFIG proxy.config.http.referer_filter INT 1
啟用redirect-URL的運行時格式化(測試時沒有作用)
CONFIG proxy.config.http.referer_format_redirect INT 1
正則表達式說明
正則表達式只針對有Referer頭的請求進行合法性校驗,當然沒有Referer頭的請求也是允許的
在正則表達式中,*表示通配,~表示取反,*和~的不同組合能生成不同的filtering rules,比如:
~*表示Referer頭可選,*~表示帶有Referer頭的請求將要求驗證合法性
舉例
map_with_referer http://y.foo.bar.com/x/yy/ ?http://foo.bar.com/x/yy/ http://games.bar.com/new_games .*\.bar\.com www.bar-friends.com
解釋:
Referer頭必須在request中,只有 ”.*.bar.com” and “www.bar-friends.com”被允許
map_with_referer http://y.foo.bar.com/x/yy/ ?http://foo.bar.com/x/yy/ http://games.bar.com/new_games * ~.*\.evil\.com
解釋:
Referer頭必須在request中,除了”.*.evil.com”以外,所有的referer都允許
map_with_referer http://y.foo.bar.com/x/yy/ ?http://foo.bar.com/x/yy/ http://games.bar.com/error ~* * ~.*\.evil\.com
解釋:
Referer頭可選,但是當Referer頭存在時,只有來自”.*.evil.com”的請求被重定向到redirect-URL
map_with_referer http://y.foo.bar.com/x/yy/ ?http://foo.bar.com/x/yy/ http://pics.taobaocdn.com/bao/album/wp/pic_fobbiden.png ~* ^http://[^/]+.(baidu|taobao|alibaba|alipay|google|search.msn).com(.cn|)/
解釋:
Referer頭可選,但是當Referer頭存在時,如來源請求不是從后面這些網站來的,則給它返回一個禁止使用的圖片。
測試實踐
在命令行使用curl來測試,修改Referer頭比較方便
測試的結果是,正則表達式是這樣的
map_with_refer http://www.baidu.com/ http://10.10.110.142/ http://10.10.110.142/505.html ?~* .*\.baidu\.com
總結
以上是生活随笔為你收集整理的ATS中开启Refer防盗链功能的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python中利用lxml模块解析xml
- 下一篇: 在Ubuntu 14.04 64bit上