避免 Chrome 顯示不安全警告

Eric Lawrence

9 月的公告所述,Chrome 即將在網址列中將含有「密碼」和「信用卡」輸入欄位的非安全網頁標示為「不安全」

本文件旨在協助網頁開發人員更新網站,以免收到這則警告。

啟用警告

Chrome 56 的使用者將預設啟用警告,預計在 2017 年 1 月推出。

如要在此之前測試即將發布的使用者體驗,請安裝最新的 Google Chrome Canary 版本。

如要設定 Chrome 顯示 2017 年 1 月出現的警告訊息,請開啟 chrome://flags/#mark-non-secure-as 並將 Mark non-secure origins as non-secure 選項設為 Display a verbose state when password or credit card fields are detected on an HTTP page。然後重新啟動瀏覽器。

您可以在這個頁面查看瀏覽器警告行為的範例。

開發人員工具控制台顯示「不安全」狀態時,就會顯示「This page includes a password or credit card input in a non-secure context. A warning has been added to the URL bar.」訊息

控制台警告範例。

解決警告

為確保網頁不會顯示「不安全」警告,您必須確保所有包含 <input type=password> 元素的表單,以及偵測到為信用卡欄位輸入的任何輸入內容都「只」在安全來源上。這表示頂層網頁必須是 HTTPS,如果 input 位於 iframe 中,則該 iframe 也必須透過 HTTPS 提供。

如果您的網站在 HTTP 網頁上重疊顯示 HTTPS 登入頁框...

透過 HTTP 登入的 HTTPS 範例。

您必須將網站變更為對整個網站採用 HTTPS (建議做法),或是將瀏覽器視窗重新導向至包含登入表單的 HTTPS 網頁:

透過 HTTPS 登入的 HTTPS 範例。

長期 - 一律使用 HTTPS

Chrome 最終會針對透過 HTTP 提供的「所有」網頁顯示「不安全」警告,無論該網頁是否含有機密輸入欄位。 即使您採用上述任一更明確的解析度,仍建議您遷移網站,改為對所有網頁使用 HTTPS。