HTTP系列之Referer和Referrer policy簡介

@[toc]

1、前言摘要

在csdn網(wǎng)站隨便抓個鏈接來看看:

Referer參數(shù):


在這里插入圖片描述

referrer policy是unsafe url的捺氢,ok镊讼,下面介紹一下Referer和referrer policy


在這里插入圖片描述

2凝化、Referer簡介

referer參數(shù)是http請求頭header里的一個關(guān)鍵參數(shù)扔枫,表示的意思是鏈接的來源地址俊鱼,比如在頁面引入圖片刻像、JS 等資源,或者跳轉(zhuǎn)鏈接并闲,一般不修改策略细睡,都會帶上Referer

3、Referer安全性

Referer這個http header的參數(shù)應(yīng)用得當(dāng)?shù)脑挼刍穑强梢蕴岣甙踩缘牧镝悖热纾梢赃@個參數(shù)其實(shí)就告訴了鏈接的請求來源于哪個網(wǎng)站犀填,所以可以根據(jù)這個特性蠢壹,限制一些接口只能本網(wǎng)站的才能調(diào),外部網(wǎng)站不能調(diào)

案例:
比如你曾經(jīng)在瀏覽器訪問過銀行A的網(wǎng)站九巡,所以瀏覽器是有保存Cookie的知残,Cookie并沒有過期,這時比庄,你不小心登錄一個惡意的論壇網(wǎng)站還是什么網(wǎng)站求妹,你訪問了鏈接(其實(shí)鏈接后面加的是竊取Cookie,調(diào)銀行A網(wǎng)站轉(zhuǎn)賬API)佳窑,這時候制恍,如果網(wǎng)站安全性驗(yàn)證不過的話,就會竊取金錢的惡意操作
針對這個銀行轉(zhuǎn)賬竊取案例神凑,我們或許可以這樣改造净神,我們可以再增加一個驗(yàn)證的工程,不給直接調(diào)用轉(zhuǎn)賬接口溉委,我們在這個驗(yàn)證工程里加入Referer識別的鹃唯。這時候,CSRF攻擊的話瓣喊,肯定得在非銀行A官網(wǎng)的服務(wù)器發(fā)送請求坡慌,我們改造之后,這個請求會先發(fā)送到驗(yàn)證工程這里藻三,這時候解析請求洪橘,獲取Referer屬性進(jìn)行識別,發(fā)現(xiàn)不是銀行A官網(wǎng)的地址棵帽,這時候直接攔截熄求,拒絕訪問。

這個案例是合理應(yīng)用Referer的逗概,當(dāng)然Referer是記錄來源地址弟晚,很顯然,這個Referer的url里很可能也會帶上一些敏感信息,比如token或者用戶的信息等卿城,這些一旦被其它網(wǎng)站竊取了淑履,是很危險(xiǎn)的,如果對于Referer參數(shù)要合理地使用藻雪,所以有必要介紹一下w3c提出的referrer policy

ps:http header里的referer其實(shí)是拼寫少了一個r秘噪,正確的拼寫應(yīng)該是referrer ,不過當(dāng)初http標(biāo)準(zhǔn)發(fā)出來時候勉耀,并沒有發(fā)現(xiàn)拼寫錯了指煎,所以現(xiàn)在一直保持著拼寫錯誤

4、相關(guān)術(shù)語

  • 同源策略:同源策略指協(xié)議+域名+端口都相同的情況便斥,是由Netscape提出的一個著名的安全策略至壤,現(xiàn)在所有支持JavaScript 的瀏覽器都會使用這個策略。實(shí)際上枢纠,這種策略只是一個規(guī)范像街,并不是強(qiáng)制要求,各大廠商的瀏覽器只是針對同源策略的一種實(shí)現(xiàn)

  • 跨域請求:跨域請求就是不符合同源策略的情況晋渺,也就是協(xié)議镰绎、域名、端口有一個或多個不一樣木西,都算是跨域的請求畴栖,所以https鏈接和http鏈接的相互調(diào)用也是屬于跨域的請求

5、Referrer Policy

Referrer Policy是W3C官方提出的一個候選策略八千,主要用來規(guī)范Referrer

官網(wǎng):https://www.w3.org/TR/referrer-policy/

最初是只有5種策略的吗讶,現(xiàn)在規(guī)范增加到9種

enum ReferrerPolicy {
  "",
  "no-referrer",
  "no-referrer-when-downgrade",
  "same-origin",
  "origin",
  "strict-origin",
  "origin-when-cross-origin",
  "strict-origin-when-cross-origin",
  "unsafe-url"
};
5.1、no-referrer

不發(fā)送referrer信息

5.2恋捆、no-referrer-when-downgrade

協(xié)議降級時候不發(fā)送Referrer信息照皆,其實(shí)https的網(wǎng)站鏈接調(diào)到http的網(wǎng)站鏈接

5.3、same-origin

同源鏈接(協(xié)議沸停、域名膜毁、端口都相同)發(fā)送,否則不發(fā)送

5.4星立、origin

Referrer發(fā)送的信息只包括協(xié)議+域名+端口爽茴,不包括其它信息

5.5葬凳、strict-origin

https的網(wǎng)站協(xié)議降級訪問http的網(wǎng)站绰垂,這種情況就是一種不嚴(yán)格的情況,這種情況不發(fā)送Referrer火焰,其它情況發(fā)送Referrer(協(xié)議+域名+端口)劲装,注意這里的Referrer同樣只包括協(xié)議+域名+端口而已

5.6、origin-when-cross-origin

跨域時候發(fā)送Referrer(協(xié)議+域名+端口),其它情況也就是同源的情況發(fā)送完整的Referrer信息

5.7占业、strict-origin-when-cross-origin

這里有兩個條件绒怨,1、嚴(yán)格模式谦疾,也就是不會出現(xiàn)https的網(wǎng)站協(xié)議降級調(diào)http的鏈接南蹂;2、跨域念恍,符合這兩種情況的六剥,發(fā)送Referrer(協(xié)議+域名+端口),其它情況包括https的網(wǎng)站調(diào)http的鏈接這種協(xié)議降級的情況峰伙,等等疗疟,還有很多情況,這些情況都發(fā)送完整的Referrer

5.8瞳氓、unsafe-url

這種情況是不管是否協(xié)議降級訪問策彤,還是同源跨域訪問,全都發(fā)送Referrer匣摘,當(dāng)然這里的Referrer也是完整的Referrer店诗,有什么就發(fā)什么,所以這種是一種不安全的協(xié)議

5.9音榜、空字符串

空字符串“”對應(yīng)于無引用者策略必搞,導(dǎo)致回退到其他位置定義的引用者策略,或者在沒有此類更高級別策略的情況下囊咏,默認(rèn)為“ no-referrer-when-downgrade”恕洲。此默認(rèn)設(shè)置發(fā)生在官網(wǎng)§8.3確定請求的Referrer算法中。

6梅割、Referrer使用方法

單個標(biāo)簽設(shè)置:<a>霜第、<area>、<img>户辞、<iframe>泌类、<link>,這些標(biāo)簽都可以設(shè)置referrerpolicy屬性

<a  referrerpolicy="origin" target="_blank">鏈接</a>

全局策略設(shè)置:加個meta標(biāo)簽底燎,content="策略"

<meta name="referrer" content="origin">
在這里插入圖片描述
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末刃榨,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子双仍,更是在濱河造成了極大的恐慌枢希,老刑警劉巖,帶你破解...
    沈念sama閱讀 210,978評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件朱沃,死亡現(xiàn)場離奇詭異苞轿,居然都是意外死亡茅诱,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 89,954評論 2 384
  • 文/潘曉璐 我一進(jìn)店門搬卒,熙熙樓的掌柜王于貴愁眉苦臉地迎上來瑟俭,“玉大人,你說我怎么就攤上這事契邀“诩模” “怎么了?”我有些...
    開封第一講書人閱讀 156,623評論 0 345
  • 文/不壞的土叔 我叫張陵坯门,是天一觀的道長椭迎。 經(jīng)常有香客問我,道長田盈,這世上最難降的妖魔是什么畜号? 我笑而不...
    開封第一講書人閱讀 56,324評論 1 282
  • 正文 為了忘掉前任,我火速辦了婚禮允瞧,結(jié)果婚禮上简软,老公的妹妹穿的比我還像新娘。我一直安慰自己述暂,他們只是感情好痹升,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,390評論 5 384
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著畦韭,像睡著了一般疼蛾。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上艺配,一...
    開封第一講書人閱讀 49,741評論 1 289
  • 那天察郁,我揣著相機(jī)與錄音,去河邊找鬼转唉。 笑死皮钠,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的赠法。 我是一名探鬼主播麦轰,決...
    沈念sama閱讀 38,892評論 3 405
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼砖织!你這毒婦竟也來了款侵?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,655評論 0 266
  • 序言:老撾萬榮一對情侶失蹤侧纯,失蹤者是張志新(化名)和其女友劉穎新锈,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體茂蚓,經(jīng)...
    沈念sama閱讀 44,104評論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡壕鹉,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,451評論 2 325
  • 正文 我和宋清朗相戀三年剃幌,在試婚紗的時候發(fā)現(xiàn)自己被綠了聋涨。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片晾浴。...
    茶點(diǎn)故事閱讀 38,569評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖牍白,靈堂內(nèi)的尸體忽然破棺而出脊凰,到底是詐尸還是另有隱情,我是刑警寧澤茂腥,帶...
    沈念sama閱讀 34,254評論 4 328
  • 正文 年R本政府宣布狸涌,位于F島的核電站,受9級特大地震影響最岗,放射性物質(zhì)發(fā)生泄漏帕胆。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,834評論 3 312
  • 文/蒙蒙 一般渡、第九天 我趴在偏房一處隱蔽的房頂上張望懒豹。 院中可真熱鬧,春花似錦驯用、人聲如沸脸秽。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,725評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽记餐。三九已至,卻和暖如春薇正,著一層夾襖步出監(jiān)牢的瞬間片酝,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,950評論 1 264
  • 我被黑心中介騙來泰國打工挖腰, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留钠怯,地道東北人。 一個月前我還...
    沈念sama閱讀 46,260評論 2 360
  • 正文 我出身青樓曙聂,卻偏偏與公主長得像晦炊,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子宁脊,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,446評論 2 348

推薦閱讀更多精彩內(nèi)容

  • http://www.91ri.org/tag/fuzz-bug 通常情況下断国,有三種方法被廣泛用來防御CSRF攻擊...
    jdyzm閱讀 4,161評論 0 5
  • 一個圖片,本站或者外站榆苞,都要想辦法拿到 前言介紹 近期在一個項(xiàng)目中稳衬,需要引用大量外部網(wǎng)站的圖片,竟意外的發(fā)現(xiàn)在生成...
    lancelot_lewis閱讀 6,115評論 0 3
  • 當(dāng)用戶在瀏覽器上點(diǎn)擊一個鏈接時坐漏,會產(chǎn)生一個 HTTP 請求薄疚,用于獲取新的頁面內(nèi)容碧信,而在該請求的報(bào)頭中,會包含一個 ...
    xnotepad閱讀 3,786評論 0 3
  • 我們寫作往往都是由一個靈感來源的街夭。 長篇大論也好砰碴,簡短金句也罷,總會有那么一刻你靈感就來了板丽。 可能是吃飯?zhí)柎蛄藗€...
    匠子隨筆閱讀 181評論 0 1
  • 孩子計(jì)劃好了今天帶他去琴臺公園玩呈枉,可惜天公不作美,吃完早餐后大暴雨埃碱,詢問他的想法猖辫,他還是堅(jiān)持要去,就帶著他去了砚殿,希...
    TA77范麗萍閱讀 274評論 1 5