国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

前端必須知道的 HTTP 安全頭配置

OnlyMyRailgun / 3681人閱讀

摘要:在本文中,我將介紹常用的安全頭信息設置,并給出一個示例。響應頭指定了該響應的資源是否被允許與給定的共享。示例指定可以送達的域名,默認為當前域名不包含子域名只有在協議時才會被發送到服務端。

在本文中,我將介紹常用的安全頭信息設置,并給出一個示例。在本文的最后,我將介紹用于常見應用程序和web服務器的安全頭信息示例設置。

Content-Security-Policy

內容安全策略(CSP)常用來通過指定允許加載哪些資源來防止跨站點腳本攻擊。在接下來所介紹的所有安全頭信息中,CSP 可能是創建和維護花費時間最多的而且也是最容易出問題的。在配置你的網站 CSP 過程中,要小心徹底地測試它,因為阻止某些資源有可能會破壞你的網站的功能。

功能

CSP 的主要目標是減少和報告 XSS 攻擊, XSS 攻擊利用了瀏覽器對于從服務器所獲取的內容的信任。使得惡意腳本有可能在用戶的瀏覽器中執行,因為瀏覽器信任其內容來源,即使有時候這些腳本并非來自該站點的服務器當中。

CSP 通過指定允許瀏覽器加載和執行那些資源,使服務器管理者有能力減少或消除 XSS 攻擊的可能性。 一個 CSP 兼容的瀏覽器將會僅執行從白名單域獲取得到的腳本文件,忽略所有其他的腳本(包括內聯腳本)。

示例

一個最佳的 CSP 可能是下面這樣(注釋按照配置值的順序),在站點包含的每一部分資源請求相關都加入域名限制。

# 所有的內容(比如: JavaScript,image,css,fonts,ajax request, frams, html5 Media等)均來自和站點的同一個源(不包括其子域名)
# 允許加載當前源的圖片和特定源圖片
# 不允許 objects(比如 Flash 和 Java)
# 僅允許當前源的腳本下載和執行
# 僅允許當前源的 CSS 文件下載和執行
# 僅允許當前源的 frames
# 限制  標簽中的 URL 與當前站點同源
# 僅允許表單提交到當前站點

Content-Security-Policy: default-src "self"; img-src "self" https://img.com; object-src "none"; script-src "self"; style-src "self"; frame-ancestors "self"; base-uri "self"; form-action "self";

關于 CSP 更加詳細的介紹可以看 https://content-security-poli...

Strict-Transport-Security

Strict-Transport-Security(HSTS) 告訴瀏覽器該站點只能通過 HTTPS 訪問,如果使用了子域,也建議對任何該站點的子域強制執行此操作。

功能

一個站點如果接受了一個 HTTP 請求,然后跳轉到 HTTPS,用戶可能在開始跳轉前,通過沒有加密的方式和服務器對話。這樣就存在中間人攻擊的潛在威脅,跳轉過程可能被惡意網站利用來直接接觸用戶信息,而不是原來的加密信息。

網站通過HTTP Strict Transport Security通知瀏覽器,這個網站禁止使用HTTP方式加載,瀏覽器應該自動把所有嘗試使用HTTP的請求自動替換為HTTPS請求。

示例
# 瀏覽器接受到這個請求后的 3600 秒內的時間,凡是訪問這個域名下的請求都是用https請求
# 指定 includeSubDomains 此規則適用該站點下的所有子域名

Strict-Transport-Security: max-age=3600; includeSubDomains
X-Content-Type-Options

X-Content-Type-Options 響應頭相當于一個提示標志,被服務器用戶提示瀏覽器一定要遵循 Content-Type 頭中 MIME 類型的設定,而不能對其進行修改。

功能

它減少了瀏覽器可能“猜測”某些內容不正確的意外應用程序行為,例如當開發人員將一個頁面標記為“HTML”,但瀏覽器認為它看起來像JavaScript并試圖將其呈現為JavaScript時。這個頭將確保瀏覽器始終按照服務器設置的MIME類型來解析。

示例
X-Content-Type-Options: nosniff
Cache-Control

Cache-Control 通用消息頭字段,被用于在 http 請求和響應中,通過指定指令來實現緩存機制。緩存指令是單向的,這意味著在請求中設置的指令,不一定被包含在響應中。

功能

這一個比其他的稍微復雜一些,因為你可能需要針對不同的內容類型使用不同的緩存策略。

任何包含有敏感信息的網頁,例如用戶個人信息頁面或客戶結帳頁面,都應該設置為 no-cache。原因是防止共享計算機上的某人按下后退按鈕或瀏覽歷史并查看個人信息。

示例
Cache-Control: no-cache
X-Frame-Options

X-Frame-Options 響應頭是用來給瀏覽器指示允許一個頁面可否在 ,