問:好比我在https://klb.kltong.com/login.jsp成功登陸後瀏覽器問我保不保存密碼,我點了是,而後跳轉到網關付款的時候,
發現用戶名和密碼莫名賦值到了這裏,我看了下源碼沒有相同點,應該不是id或者name重複的緣由,
因此感受很奇怪,並且不止一個瀏覽器有這樣的問題,並且都是付給了金額和下面的消費密碼,因此不知道這裏面瀏覽器是怎麼解析的呢?javascript
分析: 登錄頁面和付款頁面的input是否是id或者name屬性值是相同的?
若是是html5 可使用sessionStroage來存儲相關的信息是瀏覽器功能,根據域名綁定帳號和密碼 css
如何設置能禁止瀏覽器自動保存表單信息,好比用戶名,密碼?
如今不少瀏覽器都有自動填寫功能,我在input上使用了autocomplete="off",但在有的瀏覽器上仍是被記住了用戶名跟密碼,請問有沒有更有效及簡便的方法來防止瀏覽器記住用戶名及密碼?
一、針對瀏覽器記住密碼
1).首先大部分瀏覽器都是根據表單域的type="password"來判斷密碼域的,因此針對這種狀況能夠採起「動態設置密碼域」的方法: html
複製代碼代碼以下:
<input type="text" name="password" onfocus="this.type='password'" />
解釋:當這個文檔框獲取焦點時纔將其變成密碼域,這樣瀏覽器就不會記住密碼,固然爲了更加完善,還能夠把autocomplete="off"屬性也加上。
2).在onload事件,把密碼框的值清空,即: html5
複製代碼代碼以下:
<script language="javascript">
window.load = function(){
document.getElementById('密碼域ID').value='';
};
</script> java
3).頁面採用https協議,由於https是不會對錶單進行保存信息的。
4).採用flash作登陸表單,這種狀況瀏覽器也不會記錄表單信息。
5).再來個變態的好了,就是能夠把type="password"改爲type="text",由於type不是password就不會出現記住密碼功能,而後設置一個變量如:var val=""或者是設置一個隱藏域<input
type="hidden" name="val">,最後用onpropertychange把密碼換成一行圓點,並把值賦給val,提交時再把val的值還原回去,因爲效果和*號同樣。 用戶是看不出來的。
二、針對有些瀏覽器插件的自動填表功能
這個就比較麻煩了,我想這種狀況應該是插件記住表單域name的值,而後再進行填表,這種狀況,我以爲能夠在頁面加載時動態更改name的值,當提交表單的時候再把表單的值組合成正確的對應值再提交。這個沒有通過驗證,只是我我的的想法。你能夠試試
若是以上這些方法還知足不了你,那我也沒辦法了。
建議:
試一下把對應域名下的cookie清掉,瀏覽器應該是根據cookie來記住用戶名密碼的。
(不是的,有的瀏覽器是在你提交表單後,根據你提交的值來記住的)
(對的 有些瀏覽器不記錄在COOKIE 這個比較頭疼 順便問下INPUT裏輸入過的值如何清除?我但願能像銀行的那樣 輸入過的值再也不出現)
瀏覽器記住密碼的實現方式就是經過尋找type爲password的input輸入框,而後前邊一個輸入框就做爲用戶名記住。因此解決這個問題的辦法就是在用戶名input和密碼input之間增長一個type爲text的輸入框設置css屬性display爲none。瀏覽器
【注:】本文來源:http://jingyan.baidu.com/article/3c343ff701b6fc0d3779632f.htmlcookie
腳本之家session