【Nginx】Referer配置

翠微發表於2024-05-29

server配置

server {
    listen       80;
    server_name  localhost;
    add_header X-Frame-Options SAMEORIGIN;
    add_header Referer-Policy origin;
    add_header Content-Security-Policy "frame-ancestors 'self'";
    add_header X-Permitted-Cross-Domain-Policies  "master-only";
    add_header X-XSS-Protection "1; mode=block;";
    add_header X-Download-Options SAMEORIGIN;
    add_header X-Content-Type-Options nosniff;
    add_header Strict-Transport-Security max-age=31536000;
    proxy_set_header Host $host;
    proxy_intercept_errors on;
}

頁面透過meta配置控制

<meta name="referrer" content="no-referrer" />

頁面配置no-referrer時,引薦來源網址政策: no-referrer,但是對CSS樣式中引用的圖片,頁面上的該配置不起作用

referrer的值

no-referrer:所有請求不傳送 referrer。
no-referrer-when-downgrade(預設值):當請求安全級別下降時不傳送 referrer。目前,只有一種情況會發生安全級別下降,即從 HTTPS 到 HTTP。HTTPS 到 HTTP 的資源引用和連結跳轉都不會傳送 referrer。
same-origin:對於同源的連結和引用,會傳送referrer,其他的不會。
origin:在任何情況下僅傳送源資訊作為引用地址。源資訊包括訪問協議和域名。
strict-origin:在安全級別下降時不傳送 referrer;而在同等安全級別的情況下僅傳送源資訊。注意:這個是新加的標準,有些瀏覽器可能還不支援。
origin-when-cross-origin:同源的連結和引用,會傳送完全的 referrer 資訊;但非同源連結和引用時,只傳送源資訊。
strict-origin-when-cross-origin:同源的連結和引用,會傳送 referrer。安全級別下降時不傳送 referrer。其它情況下傳送源資訊。注意:這個是新加的標準,有些瀏覽器可能還不支援。
unsafe-url:無論是否發生協議降級,無論是本站連結還是站外連結,統統都傳送 Referrer 資訊。正如其名,這是最寬鬆而最不安全的策略。