91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Referer丟失的示例分析

發布時間:2021-08-17 09:17:28 來源:億速云 閱讀:835 作者:小新 欄目:移動開發

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

Referer 是什么

HTTP Referer是 HTTP 請求 header 頭信息的一部分 當瀏覽器向web服務器發送請求的時候,一般會帶上Referer

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

比如我們在 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 規范的拼寫錯誤,為了保持向后兼容就將錯就錯了

Referer 的作用

防盜鏈

比如你發現訪問加載自己的資源 而 referer不是自己的站點 就可以屏蔽它

防止惡意請求

這點同上

高級用法

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

Referer 丟失

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

總結下 Referer 丟失的幾種情況

1.當網站使用refresh字段進行跳轉的時候,大多數瀏覽器不發送referer

2.從用戶從一個HTTPS的網站點擊鏈接到另一個HTTP的網站時,不發送referer

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

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

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

6.在html頭部中使用meta標簽來控制不讓瀏覽器發送referer

自動生成URL鏈接HTTPS變HTTP

有時候需要在API項目中生成一些URL鏈接返回 但是服務器端已經配置了支持HTTPS,通過HTTPS訪問的時候生成的URL仍然是HTTP

關于這個問題其實是服務器 配置 問題 和 下面類似

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

當然我一開始沒有發現這個問題 因為從前端請求到 API 整個都沒有問題 全部項目已經全線部署了 HTTPS , Referer 信息也有攜帶 然后到最后一步微信的支付請求URL的時候 Referer 就丟失了.

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

API項目配置的是 HTTPS 請求 但是生成的URL是 HTTP 問題就是這里了 請求運維哥協助 最后發現是 Nginx 反向代理中配置的問題

nginx服務器配置片段如下:

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

可以看到 proxy_pass 參數 指向的是 HTTP的協議 所以在 后臺獲取的 URL 都是HTTP協議的

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

以上是“Referer丟失的示例分析”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

襄垣县| 都昌县| 海口市| 女性| 怀宁县| 三明市| 灌阳县| 孙吴县| 浦北县| 西宁市| 远安县| 金沙县| 海宁市| 康定县| 北辰区| 青州市| 昌宁县| 贺兰县| 古交市| 临清市| 郑州市| 江西省| 临海市| 大安市| 永登县| 岳普湖县| 曲水县| 蒙自县| 陆丰市| 宁津县| 嘉定区| 和田县| 安庆市| 昭觉县| 东明县| 哈尔滨市| 台北县| 湘潭市| 繁峙县| 博爱县| 泽普县|