婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > HTTP Referer詳解及Referer控制

HTTP Referer詳解及Referer控制

熱門標簽:高德地圖標注常顯 外呼系統號顯示星號怎么看 揭陽電腦外呼系統公司 華創e路航彩票銷售點地圖標注 suitecrm 地圖標注 臨沂ai電銷機器人招商 銀川語音外呼系統中心 承德地圖標注公司收費 鶴壁外呼系統公司

什么是HTTP Referer

referer的意思簡言之,HTTP Referer是header的一部分,當瀏覽器向web服務器發送請求的時候,一般會帶上Referer,告訴服務器我是從哪個頁面鏈接過來的,服務器籍此可以獲得一些信息用于處理。

比如在一個網頁里面插入一個超鏈接,鏈接到其他的網頁,那么當點擊這個超鏈接從而鏈接到另外一個頁面的時候,相當于瀏覽器向 web 服務器發送了一個 http 請求,對于另外一個頁面而言,這個 referer 就是上一個頁面的 URL,而對于從地址欄里面直接輸入 URL 或者是刷新網頁的方式,則 referer = null,通過設置這個 referer 可以防止盜鏈的問題

例如從我主頁上鏈接到一個朋友那里,他的服務器就能夠從HTTP Referer中統計出每天有多少用戶點擊我主頁上的鏈接訪問他的網站。

Referer其實應該是英文單詞Referrer,不過拼錯的人太多了,所以編寫標準的人也就將錯就錯了。

Referer有時也被用作防盜鏈

即下載時判斷來源地址是不是在網站域名之內, 否則就不能下載或顯示,很多網站,如天涯就是通過Referer頁面來判斷用戶是否能夠下載圖片.

當然,對于某些惡意用戶,也可能偽造Referer來獲得某些權限,在設計網站時要考慮到這個問題.

還可用做電子商務網站的安全,在提交信用卡等重要信息的頁面用referer來判斷上一頁是不是自己的網站,如果不是,可能是黑客用自己寫的一個表單,來提交,為了能跳過你上一頁里的javascript的驗證等目的。

但是注意不要把Rerferer用在身份驗證或者其他非常重要的檢查上,因為Rerferer非常容易在客戶端被改變

雖然Referer并不可靠,但用來防止圖片盜鏈還是足夠的,畢竟不是每個人都會修改客戶端的配置。實現一般都是通過apache的配置文件,首先設置允許訪問的地址:

# 只允許來自domain.com的訪問,圖片可能就放置在domain.com網站的頁面上
SetEnvIfNoCase Referer “^http://www.domain.com/” local_ref
# 直接通過地址訪問
SetEnvIf Referer “^$” local_ref

然后再規定被標記了的訪問才被允許:

FilesMatch “.(gif|jpg)”>
Order Allow,Deny
Allow from env=local_ref
/FilesMatch>

或者

Directory /web/images>
Order Deny,Allow
Deny from all
Allow from env=local_ref
/Directory>

哪些情況下無法獲得上一頁referrer信息

直接在瀏覽器地址欄中輸入地址;

使用location.reload()刷新(location.href或者location.replace()刷新有信息);

在微信對話框中,點擊鏈接進入微信自身的瀏覽器;

掃碼進入QQ或者微信的瀏覽器;

直接新窗口打開一個頁面; 2017.8.3更新 新版本Chrome測試,新窗口頁面依然有document.referrer

從https的網站直接進入一個http協議的網站(Chrome下親測);

a標簽設置rel="noreferrer"(兼容IE7+);

meta標簽來控制不讓瀏覽器發送referer;

例如:

meta content="never" name="referrer">

使用 Referer Meta 標簽控制 referer

使用場景

在某些情況下,出于一些原因,網站想要控制頁面發送給 server 的 referer 信息的情況下,可以使用這一 referer metadata 參數。

隱私

社交網站一般都會有用戶個人頁面,這些頁面中用戶都有可能添加一些外網的鏈接,而社交網站有可能不希望在用戶點擊了這些鏈接的時候,泄露用戶頁面的 URL ,因為這些 URL 中可能包含一些敏感信息。當然,有些社交網站可能只想在 referer 中提供一個 hostname,而不是完整的 URL 信息。

安全

有些使用了 https 的網站,可能在 URL 中使用一個參數(sid 等)來作為用戶身份憑證,而又需要引入其他 https 網站的資源,這種情況下,網站肯定不希望泄露用戶的身份憑證信息。

Object-Capability Discipline

有些網站遵循Object-Capability Discipline,而 referer 剛好與這一策略相悖,所以,網站能夠控制 refeer 將對 Object-Capability Discipline 很有利。

技術細節

referer 的 metedata 參數可以設置為以下幾種類型的值:

never
always
origin
default

如果在文檔中插入 meta 標簽,并且 name 屬性的值為 referer,瀏覽器客戶端將按照如下步驟處理這個標簽:

1.如果 meta 標簽中沒有 content 屬性,則終止下面所有操作

2.將 content 的值復制給 referrer-policy ,并轉換為小寫

3.檢查 content 的值是否為上面 list 中的一個,如果不是,則將值置為 default

上述步驟之后,瀏覽器后續發起 http 請求的時候,會按照 content 的值,做出如下反應(下面 referer-policy 的值即 meta 標簽中 content 的值):

1.如果 referer-policy 的值為never:刪除 http head 中的 referer;

2.如果 referer-policy 的值為default:如果當前頁面使用的是 https 協議,而正要加載的資源使用的是普通的 http 協議,則將 http header 中的 referer 置為空;

3.如果 referer-policy 的值為 origin:只發送 origin 部分;

4.如果 referer-policy 的值為 always:不改變http header 中的 referer 的值,注意:這種情況下,如果當前頁面使用了 https 協議,而要加載的資源使用的是 http 協議,加載資源的請求頭中也會攜帶 referer。

例子

如果頁面中包含了如下 meta 標簽,所有從當前頁面中發起的請求將不會攜帶 referer:

meta name="referrer" content="never">

如果頁面中包含了如下 meta 標簽,則從當前頁面中發起的 http請求將只攜帶 origin 部分(注:根據原文中的語境,我理解這里的 origin 是包含了 schema 和 hostname 的部分 url,不包含 path 等后面的其他 url 部分),而不是完整的 URL :

meta name="referrer" content="origin">

注意:在使用本文中所述的 meta 標簽的時候,瀏覽器原有的 referer 策略將被打破,比如從 http 協議的頁面跳轉到 https 的頁面的時候,如果設置了適當的值,也會攜帶 referer。

其他問題

這與 rel=noreferer 有什么關系呢?可能 rel=noreferer 會覆蓋掉本文中的 meta 標簽所設置的值。也就是功能覆蓋。
origin 信息不是一個完整的 url,所以瀏覽器客戶端估計會在 origin 后面加一個 / 來作為 path 部分。
如果 origin 是唯一的,會發生什么情況呢?估計 referer 會被忽略。

您可能感興趣的文章:
  • php 偽造HTTP_REFERER頁面URL來源的三種方法
  • PHP偽造來源HTTP_REFERER的方法實例詳解
  • php中HTTP_REFERER函數用法實例
  • 完美兼容各大瀏覽器獲取HTTP_REFERER方法總結
  • php中XMLHttpRequest(Ajax)不能設置自定義的Referer的解決方法
  • php中突破基于HTTP_REFERER的防盜鏈措施(stream_context_create)
  • VBS偽造HTTP-REFERER的實現方法
  • asp Http_Referer,Server_Name和Http_Host
  • 一段ASP的HTTP_REFERER判斷代碼
  • ASP,PHP與.NET偽造HTTP-REFERER方法及防止偽造REFERER的方法
  • ASP,PHP與.NET偽造HTTP-REFERER方法及防止偽造REFERER方法探討
  • ASP,PHP與.NET偽造HTTP-REFERER方法及防止偽造REFERER方法探討

標簽:棗莊 三沙 忻州 七臺河 萊蕪 汕尾 許昌 咸寧

巨人網絡通訊聲明:本文標題《HTTP Referer詳解及Referer控制》,本文關鍵詞  HTTP,Referer,詳解,及,控制,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《HTTP Referer詳解及Referer控制》相關的同類信息!
  • 本頁收集關于HTTP Referer詳解及Referer控制的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 乐平市| 曲麻莱县| 剑川县| 陵水| 安庆市| 德庆县| 莎车县| 古田县| 平阳县| 五寨县| 曲松县| 河西区| 柘城县| 富蕴县| 丰宁| 孝昌县| 本溪| 鄂伦春自治旗| 鹤壁市| 盘锦市| 涞水县| 乾安县| 石河子市| 神木县| 和平县| 开阳县| 鲁山县| 景东| 黎平县| 松阳县| 温泉县| 孝感市| 英超| 朝阳县| 肥城市| 乐陵市| 葫芦岛市| 宜兰市| 祁门县| 广宁县| 江西省|