Defaults.Exposed

Defaults.Exposed修復 › Referrer-Policy(來源頁策略)

如何修復 Referrer-Policy(來源頁策略)

Referrer-Policy 是你網站交給每位訪客瀏覽器的一條簡單指令,控制當訪客點擊通往別的網站的連結時,你的網址會隨他們帶走多少。少了它,他們當時所在那個頁面的完整網址——搜尋詞、帳號、重置連結、內部頁面路徑,統統在內——會被悄悄交給他們接著落地的那個網站,包括廣告商、分析公司,以及連結指向的任何地方。

對您業務的關鍵影響: 每當訪客點擊一個外部連結、廣告或共享資源,他們的瀏覽器都可能把你頁面的完整網址交給目標站點——而如果你的網址裡帶著搜尋詞、客戶 ID、訂單號或一次性連結,你就在向自己無法掌控的第三方洩露客戶資料。這是監管機構嚴肅對待的資料保護問題,是一項被悄悄打破的隱私承諾,也是客戶安全團隊在盡職調查時會標記出來的計分漏洞。

這會讓您付出什麼代價

為什麼它重要。 瀏覽器若任其自便,是很愛多嘴的:它們預設會告訴下一個網站訪客剛從哪裡來,往往連頁面的完整網址一起帶上。對一個純展示型網站這也許無害,但只要你的網址裡含有任何私密資訊——一個搜尋詞、一個訂單 ID、一個連結裡的信箱、一條私密路徑——這個預設行為就會悄悄把它洩露給外部方。Referrer-Policy 正是那一個讓瀏覽器停止過度分享的設定。它是評分卡上一項實打實得分的計分檢查,直接對應隱私法下的資料最小化義務,也是任何專業審查都期望看到的標準安全回應標頭之一。

一句話說清這是什麼

每當你網站上的訪客點擊通往另一個站點的連結——一個外部連結、一條橫幅廣告、一個分享此頁、甚至一個從別處載入的字型或圖片——他們的瀏覽器都會悄悄附上一張便條,說明他們從你的哪個頁面過來。這張便條就叫來源頁(referrer)

用得合理,來源頁無害甚至有用:別的網站正是靠它知道流量來自你,許多正當的分析也靠它支撐。問題出在預設行為上。若不加管理,瀏覽器不只是說他們來自 your-business.com——它往往會交出那個確切頁面的完整網址,包括網域之後的一切。而網址承載的遠比人們以為的多:輸入到你網站裡的搜尋詞、訂單號和帳號、通往一個僅限會員頁面的路徑,甚至密碼重置和確認連結裡的一次性秘密令牌。

Referrer-Policy 是你網站發給瀏覽器的一條指令,規定它可以分享那張便條裡的多少內容。你可以讓它只分享你的網域、只分享給你自己網站上的其他頁面,或者什麼都不分享。把它想成這樣的差別:要麼把寫滿日程的完整家庭住址遞給一個陌生人,要麼只告訴對方你住在哪個城市。

它屬於一小族安全回應標頭——你網站給每位訪客瀏覽器的簡短指令。它不改變你網站的外觀或運作。它只是讓瀏覽器別替你過度分享。

這會讓你付出什麼代價

下面是缺失或寬鬆的 Referrer-Policy 咬傷真實企業的幾種具體、日常的方式。它們都不需要駭客——它們在正常使用中每天自動發生。

它實際上是什麼

預設情況下,現代版本的瀏覽器遵循一種大致等同於 strict-origin-when-cross-origin 的行為——但你不能依賴它,因為舊瀏覽器、內嵌網頁視圖和某些設定仍會退回到洩露更多。唯一保險的辦法是顯式設定該策略。設定時,你是在一份簡短清單中選一條規則。要緊的有:

以及兩個要避免的取值,因為評分卡把它們視同根本沒有回應標頭:

**良好的狀態長什麼樣:**存在一條 Referrer-Policy 回應標頭,且設為收緊的取值——對大多數企業是 strict-origin-when-cross-origin。這既讓引薦分析照常工作,又確保你網域之後的任何內容永遠不會到達外部站點。

如何修復(免費,約 5 分鐘)

**把這一節交給你的 IT 人員、網頁開發人員或主機服務商——修復是免費的,只有一行,而且不會弄壞你的網站。**這裡沒有什麼有風險的上線:不像某些安全設定,一個合理的 Referrer-Policy 不會讓你的連結或頁面停止工作。它只是裁剪分享給別的網站的內容。

目標:設定一條值為 strict-origin-when-cross-originReferrer-Policy 回應標頭(如果你想分享得更少,也可設更嚴的值)。

Cloudflare(無需程式碼——如果你用它,這是最簡單的): 儀表板 → 你的網域 → Rules → Transform Rules → Modify Response Header → Create rule → Set static → 回應標頭名 Referrer-Policy,值 strict-origin-when-cross-origin → 套用於所有進入的請求 → Deploy。

**Google Workspace / Microsoft 365:**這些管理的是你的信箱,不是你的網站,所以回應標頭要設在你網站實際託管的地方(你的 Web 主機、CDN 或伺服器)——而不是 Workspace 或 365 的管理後台。先確定主機,再用下面對應的方法。

Nginx:

add_header Referrer-Policy "strict-origin-when-cross-origin" always;

Apache(在站點設定或 .htaccess 中):

Header always set Referrer-Policy "strict-origin-when-cross-origin"

IISweb.config):

<httpProtocol><customHeaders>
  <add name="Referrer-Policy" value="strict-origin-when-cross-origin" />
</customHeaders></httpProtocol>

Node / Express:

app.use((req, res, next) => { res.setHeader('Referrer-Policy', 'strict-origin-when-cross-origin'); next(); });

**WordPress / 常見主機:**大多數託管型 WordPress 和共享主機都允許你透過安全外掛程式、主機控制台裡的回應標頭面板,或上面的 .htaccess 片段來加回應標頭。如果你在 Cloudflare 後面,Cloudflare 的方法最乾淨,一次就全站生效。

**套用之後:**打開你的網站並重新執行檢查,或用瀏覽器的開發者工具(網路標籤頁 → 點擊主文件 → 回應標頭)確認 Referrer-Policy: strict-origin-when-cross-origin 存在。

常見錯誤

關於相關回應標頭的簡短說明

Referrer-Policy 與我們檢查的另外幾個網頁安全回應標頭並列——Content-Security-Policy、X-Frame-Options、X-Content-Type-Options,以及幾個進階的跨源回應標頭。它們防護的是不同的東西,所以有其一並不涵蓋其餘。如果你的 Referrer-Policy 缺失,值得請修它的人同時確認其他標準回應標頭也已到位,因為它們通常設定在同一個地方,順手做完不另外花成本。

簡而言之

Referrer-Policy 是你評分卡上最便宜、最安全的隱私修復:一行,約五分鐘,沒有弄壞任何東西的風險,而且免費。它阻止訪客的瀏覽器把你私密的頁面網址——以及其中所含的任何個人資料——悄悄交給他們點過去的每一個外部站點。把它設成 strict-origin-when-cross-origin,確認它在每個頁面上都已生效,那個中等嚴重級的漏洞及其 15 分就堵上了。

常見問題

我不懂技術——這真的是我能處理的事嗎?

能,而且它是整張評分卡上最容易修的之一。它只是由負責你網站或主機的人加的一行設定,在 Cloudflare 這類服務上更是幾下點擊、完全不用寫程式碼。把下面的如何修復一節交給他們。它免費、約五分鐘,而且不像某些安全設定那樣,它不會弄壞你網站上的任何東西。

這裡的來源頁到底是什麼意思?

當有人從你的頁面點擊連結前往另一個網站時,他們的瀏覽器會附上一張便條,說明他們從哪個頁面過來——這張便條就叫來源頁(referrer)。對正當的分析它確實有用。問題是預設情況下,這張便條往往包含你的完整頁面網址,而不只是你的網域。如果那個網址裡含有任何私密內容,它也會一並被分享。Referrer-Policy 讓你把便條裁剪到只剩你的網域,或乾脆關掉,這樣就不會洩露任何敏感資訊。

如果我的網站不處理付款,這還值得費心嗎?

幾乎可以肯定值得。你不需要有結帳功能,網址裡也照樣會有私密資訊——搜尋框、聯絡表單、帳戶頁、文件連結和密碼重置郵件都會例行地把資料放進網址列。而且即便完全沒有個人資料,把你的內部頁面路徑洩露給訪客點過去的每一個外部站點,也等於免費送給競爭對手和爬蟲一張你網站的地圖。修復只要不花錢、五分鐘,幾乎沒理由略過。

開啟這個會弄壞我的網站或我的分析嗎?

不會。這是安全的回應標頭之一——它只控制有多少地址細節被分享給別的網站,不影響連結是否能用。推薦的設定仍會把你的網域發給外部站點,所以正當的引薦分析照常工作;它只是不讓完整的私密網址跟著一起走。無需僅觀察的試運行,也不必先在測試環境驗證。

這是個隱私合規問題,還是只是錦上添花?

它可能是一個實實在在的合規問題。資料保護規則要求你只收集和分享所需的最少個人資料,並要知道你的資料流向了誰。如果你的網址裡帶著個人識別資訊,又在沒有任何協議的情況下洩露給廣告商或分析公司,那就是稽核方和監管機構都認得的資料最小化失職。對大多數企業來說,這條回應標頭是堵上該漏洞的一種廉價、具體的辦法。

這會影響我的評分,還是只是建議?

它會影響你的評分。Referrer-Policy 檢查是計分項,在網頁安全類別下最多值 15 分。缺失回應標頭被標為中等嚴重級。注意一個陷阱:把回應標頭設成 unsafe-url 或 no-referrer-when-downgrade 這類寬鬆值得零分——和完全沒有回應標頭一樣——因為這些取值仍會洩露完整網址。要拿到分數,你需要一個像 strict-origin-when-cross-origin 這樣合理收緊的取值。