欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

Referer丟失的示例分析

這篇文章主要介紹Referer丟失的示例分析,文中介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們一定要看完!

10年積累的網(wǎng)站設(shè)計(jì)、網(wǎng)站建設(shè)經(jīng)驗(yàn),可以快速應(yīng)對客戶對網(wǎng)站的新想法和需求。提供各種問題對應(yīng)的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認(rèn)識你,你也不認(rèn)識我。但先網(wǎng)站制作后付款的網(wǎng)站建設(shè)流程,更有來鳳免費(fèi)網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。

Referer 是什么

HTTP Referer是 HTTP 請求 header 頭信息的一部分 當(dāng)瀏覽器向web服務(wù)器發(fā)送請求的時(shí)候,一般會(huì)帶上Referer

告訴服務(wù)器我是從哪個(gè)頁面鏈接過來的,服務(wù)器藉此可以獲得一些信息用于處理。

比如我們在 Chrome 瀏覽器的控制臺下 可以看到 Request Headers 下有類似如下的信息

Provisional headers are shown
Accept: 
/
Origin: local.test5.show
Referer: local.test5.show/test/show
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.77 Safari/537.36

其中 Referer 就是該屬性了

Referer的正確英語拼法是 referrer。由于早期 HTTP 規(guī)范的拼寫錯(cuò)誤,為了保持向后兼容就將錯(cuò)就錯(cuò)了

Referer 的作用

防盜鏈

比如你發(fā)現(xiàn)訪問加載自己的資源 而 referer不是自己的站點(diǎn) 就可以屏蔽它

防止惡意請求

這點(diǎn)同上

高級用法

比如微信H5支付 也需要這個(gè) 就不知道他們做啥用了(hhh

Referer 丟失

關(guān)于 Referer 丟失的問題 首先 referer 是由客戶端的瀏覽器發(fā)送到服務(wù)器上,且在客戶端可以通過 document.referrer 來獲取,也就是說referer的發(fā)送實(shí)際上是一個(gè)瀏覽器行為,發(fā)送與否的決定權(quán)是在瀏覽器手里。雖然這樣說,但是HTTP協(xié)議對什么情況下,瀏覽器該發(fā)送,什么情況下不該發(fā)送有著嚴(yán)格的規(guī)定。

總結(jié)下 Referer 丟失的幾種情況

1.當(dāng)網(wǎng)站使用refresh字段進(jìn)行跳轉(zhuǎn)的時(shí)候,大多數(shù)瀏覽器不發(fā)送referer

2.從用戶從一個(gè)HTTPS的網(wǎng)站點(diǎn)擊鏈接到另一個(gè)HTTP的網(wǎng)站時(shí),不發(fā)送referer

3.html5中,a標(biāo)簽的rel = “noreferrer”, 可以讓瀏覽器不發(fā)送referer

4.使用Data URI scheme鏈接的,瀏覽器也不發(fā)送referer

5.使用Content Security Policy, 也可以讓瀏覽器不發(fā)送referer

6.在html頭部中使用meta標(biāo)簽來控制不讓瀏覽器發(fā)送referer

自動(dòng)生成URL鏈接HTTPS變HTTP

有時(shí)候需要在API項(xiàng)目中生成一些URL鏈接返回 但是服務(wù)器端已經(jīng)配置了支持HTTPS,通過HTTPS訪問的時(shí)候生成的URL仍然是HTTP

關(guān)于這個(gè)問題其實(shí)是服務(wù)器 配置問題 和 下面類似

回到我遇到的微信支付問題 跟蹤了一圈瀏覽器的跳轉(zhuǎn)之后發(fā)現(xiàn)是屬性第二種情況 從 HTTPS 站點(diǎn)跳到 HTTP 站點(diǎn) 丟失了 Referer【ps:反過來從HTTP到HTTPS是沒問題的 不會(huì)丟失 Referer】 中間藏的比較深

當(dāng)然我一開始沒有發(fā)現(xiàn)這個(gè)問題 因?yàn)閺那岸苏埱蟮?API 整個(gè)都沒有問題 全部項(xiàng)目已經(jīng)全線部署了 HTTPS , Referer 信息也有攜帶 然后到最后一步微信的支付請求URL的時(shí)候 Referer 就丟失了.

后面發(fā)現(xiàn)在請求到API項(xiàng)目的時(shí)候 API項(xiàng)目返回了一個(gè) URL 給前端 這個(gè) URL 是后端代碼根據(jù)規(guī)則生成的(Laravel 里的 action 輔助函數(shù)) 這個(gè)函數(shù)本身并沒有什么問題 但是生成的URL鏈接 是 HTTP 了 又搞事情!!!

API項(xiàng)目配置的是 HTTPS 請求 但是生成的URL是 HTTP 問題就是這里了 請求運(yùn)維哥協(xié)助 最后發(fā)現(xiàn)是 Nginx 反向代理中配置的問題

nginx服務(wù)器配置片段如下:

location / {
    proxy_pass http://114.114.114.114:80;
  }

可以看到 proxy_pass 參數(shù) 指向的是 HTTP的協(xié)議 所以在 后臺獲取的 URL 都是HTTP協(xié)議的

把代理這設(shè)置成 https://114.114.114.114:443; 即可 問題終解決

以上是“Referer丟失的示例分析”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對大家有幫助,更多相關(guān)知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!

網(wǎng)頁標(biāo)題:Referer丟失的示例分析
標(biāo)題來源:http://chinadenli.net/article16/pgjjgg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站設(shè)計(jì)App開發(fā)移動(dòng)網(wǎng)站建設(shè)軟件開發(fā)網(wǎng)站收錄品牌網(wǎng)站制作

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

搜索引擎優(yōu)化