防止瀏覽器記住使用者名稱及密碼的簡單實用方法

來源:互聯網
上載者:User

如何設定能禁止瀏覽器自動儲存表單資訊,比如使用者名稱,密碼?
現在很多瀏覽器都有自動填寫功能,我在input上使用了autocomplete="off",但在有的瀏覽器上還是被記住了使用者名稱跟密碼,請問有沒有更有效及簡便的方法來防止瀏覽器記住使用者名稱及密碼?

1、針對瀏覽器記住密碼
1).首先大部分瀏覽器都是根據表單域的type="password"來判斷密碼域的,所以針對這種情況可以採取“動態設定密碼域”的方法:
複製代碼 代碼如下:
<input type="text" name="password" onfocus="this.type='password'" />

解釋:當這個文檔框擷取焦點時才將其變成密碼域,這樣瀏覽器就不會記住密碼,當然為了更加完善,還可以把autocomplete="off"屬性也加上。
2).在onload事件,把密碼框的值清空,即:
複製代碼 代碼如下:
<script language="javascript">
window.load = function(){
document.getElementById('密碼域ID').value='';
};
</script>

3).頁面採用https協議,因為https是不會對錶單進行儲存資訊的。
4).採用flash做登入表單,這種情況瀏覽器也不會記錄表單資訊。
5).再來個變態的好了,就是可以把type="password"改成type="text",因為type不是password就不會出現記住密碼功能,然後設定一個變數如:var val=""或者是設定一個隱藏欄位<input type="hidden" name="val">,最後用onpropertychange把密碼換成一行圓點,並把值賦給val,提交時再把val的值還原回去,由於效果和*號一樣。 使用者是看不出來的。

2、針對有些瀏覽器外掛程式的自動填表功能
這個就比較麻煩了,我想這種情況應該是外掛程式記住表單域name的值,然後再進行填表,這種情況,我覺得可以在頁面載入時動態更改name的值,當提交表單的時候再把表單的值組合成正確的對應值再提交。這個沒有經過驗證,只是我個人的想法。你可以試試

如果以上這些方法還滿足不了你,那我也沒辦法了。

建議:
試一下把對應網域名稱下的cookie清掉,瀏覽器應該是根據cookie來記住使用者名稱密碼的。
(不是的,有的瀏覽器是在你提交表單後,根據你提交的值來記住的)
(對的 有些瀏覽器不記錄在COOKIE 這個比較頭疼 順便問下INPUT裡輸入過的值如何清除?我希望能像銀行的那樣 輸入過的值不再出現)
瀏覽器記住密碼的實現方式就是通過尋找type為password的input輸入框,然後前邊一個輸入框就作為使用者名稱記住。所以解決這個問題的辦法就是在使用者名稱input和密碼input之間增加一個type為text的輸入框設定css屬性display為none。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.