摘要:
點點幫是我們公司推出的一款用於手機社群軟體。本軟體的功能非常強大,包括社群物業、交流廣場、**購物幾大功能模組。在點點幫中,使用者可以體驗到更便捷、舒適的生活環境,認識更多的朋友。由於**https化的大勢所趨,了解到把**公升級到https有很多優點,但遷移最大的問題在於遷移時間。如果在阿里雲上的主站點遷移到https,而網頁嵌入的物件沒有遷移,瀏覽器就會阻止這些沒有遷移的資源的呈現。那麼,有沒有一種簡單的實施技巧來完成https公升級呢?且聽我一一道來。
一、https公升級的趨勢
目前,很多**紛紛向https遷移,但遷移最大的問題在於遷移時間。如果主站點遷移到https,而網頁嵌入的物件沒有遷移,那麼瀏覽器會阻止這些沒有遷移的資源的呈現。最好的做法是將嵌入的物件遷移到安全站點並更新原始碼。然而,更改原始碼是乙個漫長而困難的過程。在這種情況下,內容安全策略content-security-policy就非常有用了。
全站做https遷移是很困難的,可以考慮使用報頭的「content-security-policy: upgrade-insecure-request」項來減少嵌入式物件的混合內容的錯誤(「mixed-content」)。最後,使用報頭的strict-transport-security項來對域和子域安全加固。
二、內容安全策略csp的上雲技巧
content-security
-policy:upgrade-insecure
-requests
這樣就可以將所有不安全的資源請求從網頁自動公升級為安全版本,網頁html**:
src =「>
src =「>
瀏覽器會認為資源請求為:
src =「>
src =「>
三、csp上雲技巧深入但在阿里雲上https化的真實情況遠比w3c規範的定義更加複雜,具體如下:
1、瀏覽器的支援
首先,並不是所有的瀏覽器都支援csp。firefox、chrome和opera支援csp指令,而ie、edge和safari目前不支援csp。
2、例外
儘管w3c文件提到導航鏈結被公升級到https,但是chrome瀏覽器和firefox對這一點卻有不同的處理解釋。
mozilla對導航鏈結是這麼說的:
* 同乙個域的鏈結將公升級
* 第三方的鏈結將不公升級
而chrome對導航鏈結是這麼說的:
* 注意,在錨標籤的href屬性中包含了「http://」內容的導航鏈結將不公升級。
3、第三方內容
第三方內容不公升級。由於瀏覽器不知道這些域是否支援https,因此它們不會被公升級。在目前的版本中,這項內容會被靜默阻止。可以通過開啟firefox / chrome中的開發者工具並導航到控制台視窗來找到這些已遮蔽的內容。看起來像以下的例子:
四、csp上雲實踐的下一步
通過使用報頭的csp項,大多數嵌入物件的錯誤可以移除。csp也支援報告。啟用此功能後,可以獲取到被瀏覽器「阻止/警告」的一組**,並在源**中修復。
1、hsts
hsts即http strict transport security,http嚴格傳輸安全,是一套由ietf組織發布的網際網路安全策略機制。**可以選擇使用hsts策略,來讓瀏覽器強制使用https與**進行通訊,以減少會話劫持的風險。hsts的作用是強制客戶端(如瀏覽器)使用https與伺服器建立連線。伺服器開啟hsts的方法是,當客戶端通過https發出請求時,在伺服器返回的超文字傳輸協議響應頭中包含strict-transport-security欄位。非加密傳輸時設定的hsts欄位無效。
使用報頭的strict-transport-security選項時,瀏覽器將確保對域(和子域)的所有請求都通過https進行。這就消除了計畫公升級報頭的缺點。比如:
strict-transport
-security: max
-age
=31536000; includesubdomains
上面的報頭字段資訊解釋如下:
1. 在隨後的31536000秒中,瀏覽器只要向該網域名稱或子網域名稱傳送http請求時,必須採用https協議發起連線請求。
2.如果該伺服器傳送的tls證書無效,使用者不能忽略瀏覽器警告繼續訪問**。
2、cookie
set
-cookie: lsid=dqaaak...eaem_vyg; secure
要說明兩點:
1. 無論 http連線或https連線,只要set-cookie欄位加上了secure標誌,那麼只有在使用了https連線時才會返回cookie內容。
2. 無論 http連線或https連線,如果set-cookie欄位沒有secure標誌,那麼http連線或https連線都會返回cookie,且在使用http連線時,存在洩露資訊的風險。
五、最後
採用了以上的手段,在阿里雲上**實施https化再也不是問題了。借助阿里雲的伺服器安全即安騎士產品和阿里雲的web應用防火牆waf產品,運營人員基本上就無需擔憂整個**的安全問題了。
CSP 內容安全策略
服務端可通過設定響應頭csp來實現 1.限制資源獲取 2.報告資源獲取越權 資源1 空格 關鍵字1 資源2 關鍵字2 如 content security policy script src self form action self report uri report ps 表轉義,避免node....
內容安全策略 CSP
內容安全策略 csp 是乙個額外的安全層,用於檢測並削弱某些特定型別的攻擊,包括跨站指令碼 xss 和資料注入攻擊等。摘自mdn 具體內容請參考mdn 對於react和vue,xss攻擊已經在框架裡進行了防範,但是使用 dangerouslysetinnerhtml react 和 v html v...
CSP內容安全策略
csp介紹 使用方法 維基百科 csp 的主要目標是減少和報告 xss 攻擊 xss 攻擊利用了瀏覽器對於從伺服器所獲取的內容的信任。惡意指令碼在受害者的瀏覽器中得以執行,因為瀏覽器信任其內容 即使有的時候這些指令碼並非來自於它本該來的地方。csp通過指定有效域 即瀏覽器認可的可執行指令碼的有效 使...