差異處

這裏顯示兩個版本的差異處。

連向這個比對檢視

Both sides previous revision 前次修改
下次修改
前次修改
java:web:browserautocomplete [2015/12/15 13:57]
tony [How to?]
java:web:browserautocomplete [2023/06/25 09:48] (目前版本)
行 13: 行 13:
   - 阻止瀏覽器從Session內容記錄表單內容,對相同頁面提供自動完成功能。   - 阻止瀏覽器從Session內容記錄表單內容,對相同頁面提供自動完成功能。
 而在記錄完成後,針對有加入autocomplete="​off"​的表單或欄位,就不會執行自動完成。然而這個作法,根據參考一與自行在Firefox 42.0上測試,並不適用於Firefox(since version 38)、Google Chrome (since 34)與Internet Explorer (since version 11)。這是為了讓user選擇一個夠強健的密碼,又避免忘記密碼,因此各新版瀏覽器預設都提供了帳號密碼管理功能,而選擇忽略此屬性。\\ 而在記錄完成後,針對有加入autocomplete="​off"​的表單或欄位,就不會執行自動完成。然而這個作法,根據參考一與自行在Firefox 42.0上測試,並不適用於Firefox(since version 38)、Google Chrome (since 34)與Internet Explorer (since version 11)。這是為了讓user選擇一個夠強健的密碼,又避免忘記密碼,因此各新版瀏覽器預設都提供了帳號密碼管理功能,而選擇忽略此屬性。\\
-所以最後試驗了參考2的做法,只要加入隱藏的password ​input,就可以避免瀏覽器將帳號密碼填到你不想出現的地方。+\\ 
 +所以最後試驗了參考2的做法,只要加入隱藏的input,就可以避免瀏覽器將帳號密碼填到你不想出現的地方。
 <code html> <code html>
-<input type="​text" ​autocomplete="off" name="​name"/>+<input type="​text" ​style="display: none"/>
 <input type="​password"​ style="​display:​ none"/>​ <input type="​password"​ style="​display:​ none"/>​
 +<input type="​text"​ autocomplete="​off"​ name="​name"/>​
 <input type="​password"​ autocomplete="​off"​ name="​password"/>​ <input type="​password"​ autocomplete="​off"​ name="​password"/>​
 </​code>​ </​code>​
 +經過測試,推測這方法是要讓自動完成輸入到隱藏欄位又或者是打亂瀏覽器自動完成的layout偵測。(參考2有一個透過javascript的解法,但我認為它是來亂的)\\
 +\\
 +此外,我想到如果這是由瀏覽器自行填入的,那是不是代表著:​ HTML中藏著密碼?​ 因此透過Firefox的開發者工具列發現的確如此:​\\
 +{{:​java:​web:​passwd_hidden_input_security_issue.png|}}\\
 +\\
 +因此我多設定value去避免此問題:​
 +<code html>
 +<input type="​password"​ style="​display:​ none" value="​ "/>
 +</​code>​
 +====== 後記 ======
 +  * 2016-04-11 發現chrome上無效,但可以透過autocomplete="​new-password"​解決。
 +  * 新解法: [[java:​web:​wicket:​dont_autocomplete|link]] ​
 ====== Reference ====== ====== Reference ======
   * [[https://​developer.mozilla.org/​en-US/​docs/​Web/​Security/​Securing_your_site/​Turning_off_form_autocompletion|How to Turn Off Form Autocompletion?​]]   * [[https://​developer.mozilla.org/​en-US/​docs/​Web/​Security/​Securing_your_site/​Turning_off_form_autocompletion|How to Turn Off Form Autocompletion?​]]
   * [[http://​stackoverflow.com/​questions/​17781077/​autocomplete-off-is-not-working-on-firefox|autocomplete = '​off'​ is not working on firefox]]   * [[http://​stackoverflow.com/​questions/​17781077/​autocomplete-off-is-not-working-on-firefox|autocomplete = '​off'​ is not working on firefox]]
 +  * [[http://​stackoverflow.com/​questions/​15738259/​disabling-chrome-autofill|disabling-chrome-autofill]]
  
 ====== ​ ====== ====== ​ ======