2010-04-24 113 views
1

我必須在登錄asp.net web應用程序時隱藏輸入密碼的長度。我知道asp.net文本框服務器控件具有密碼的textmode,但我甚至不能顯示那個。有關如何隱藏用戶輸入的建議?ASP.NET隱藏輸入密碼的長度

+0

可能是因爲你必須爲隱藏密碼的長度的請求,但將只是迷惑用戶(沒有我多少個字符輸入沒有任何事情發生,當我輸入該字符?) - 對我來說,你正在嘗試什麼做聽起來像很多工作的東西,不值得:) – Ando 2010-04-24 19:00:28

+1

你需要一個大的隔音盒子來裝過的人打字,這樣任何人都無法看到或聽到他們有多少個字符在鍵盤上按下。讓它足夠大,你也可以覆蓋屏幕。 (即你的經理正在做出大多數人認爲是愚蠢的請求) – 2010-04-24 19:20:37

+0

我爲一家非常大的公司工作,即20,000多個世界各地。肛門部分是我的應用程序嚴格是內部用戶的基於內聯網的應用程序。我瞭解安全和隱私的需求,但覺得這項政策有點過分。 – Corin 2010-04-24 20:15:18

回答

0

如果您必須(我同意@Ando不應該由於UI問題),我會使用JavaScript(onkeydown)將每個字符複製到隱藏的輸入字段,並刪除在框中輸入的密鑰。

這將允許您在回發時檢索密碼,同時保持用戶的輸入字段爲空。

當然,如果用戶按下箭頭鍵,刪除或退格,您將不得不決定如何處理。

從用戶的角度來看,隱藏輸入的長度似乎是一個非常糟糕的用戶界面想法,你應該爭辯說應該改變規範。

+0

我完全同意你的每一個迴應。但是,這是一項公司政策,目前列爲「首選」而非「強制性」。由於爲管理員創建更多工作來重置鎖定的用戶帳戶和重置密碼,我也願意爭論規範。無論哪種方式,我只是想我會拋出問題,看看是否有任何其他方式來做到這一點,而不使用JavaScript和隱藏的領域。我正在考慮做一個Ajax更新面板並將其保存到textbox textchanged事件的內存中。思考? – Corin 2010-04-24 19:25:41

+0

當然,您可以使用Ajax,並在服務器端處理某些用戶特定變量中的按鍵,而不是使用隱藏字段。相同的邏輯,不同的存儲。對我來說,一個JavaScript解決方案會更容易實現,但他們都會做同樣的事情。 – 2010-04-24 19:35:19

+0

使用Javascript並存儲在隱藏字段中的問題是用戶查看頁面的源並查看它。雖然我可以禁用右鍵單擊,但菜單中的選項仍然存在。 – Corin 2010-04-24 20:12:40

0

雖然我也同意其他人的看法,但這是一個糟糕的主意,我知道有些時候你必須做你不同意的事情。

我會建議Mikael做了什麼,但他已經做到了。 :)
總結一下:

我會使用JavaScript(onkeydown事件)到 副本的每個字符來隱藏輸入 場,並刪除 的框中輸入的密鑰。

這將允許您在回發時檢索 密碼,同時保留 用戶的輸入字段爲空。

當然,如果用戶按下箭頭鍵 刪除或退格鍵,您將不得不決定如何處理。

你曾經說過:

我在一個隱藏字段使用JavaScript和 存儲問題是用戶 查看頁面的源和 看到它。

我很確定查看源代碼應該只顯示最初下載的內容,而不是用戶輸入的內容。但是,有些工具(即Firefox插件)可以做到這一點。您可以將值存儲在javascript varible中,並且只在發佈密碼時將密碼放在隱藏字段中,或者使用某種ajax請求來驗證身份。但是,有了正確的插件,有人可以找到這個。

如果問題是有人在查看登錄人的肩膀,那麼這些問題(即查看源)將無關緊要,除非登錄的人決定查看源並向其中顯示該人只會讓他更容易告訴他人他的密碼。

1
<input type="password" name="password" style="color:White;"/> 

似乎接近您的要求,但某些瀏覽器在您處於輸入字段時突出顯示黃色。將字體大小設置爲1px是另一個可以嘗試的技巧。

但最簡單的可能改爲使用的z-index把圖像或彩色DIV上密碼字段的頂部。也許一個帶有*字符的隨機生長和縮小的動畫gif是最好的 - 會讓旁觀者感到困惑! :-)

用戶如何甚至知道選定字段是你必須的,也許一些額外的JavaScript來檢測並告訴他們另一個問題。

+0

我認爲一些瀏覽器會顯示在該字段中閃爍的光標。不知道是否可以通過更改顏色來關閉此功能。 – 2010-04-25 08:46:44

0

一致表示它不是最好的主意...

1)當你開始打字,在每按一次鍵,被entred作爲密碼的一部分(例如管限制特定字符),那麼當用戶類型,添加一個ramdom數量的管道(例如0到4個管道),然後刪除這些服務器端?

2)這些添加到一個隱藏字段...如果用戶執行View_Source,他們將只能看到現場的原始值,即是空的......只記得,如果你需要清除值根據其渲染(asp.net Web窗體隱藏字段控制)等

3)怎麼也得需要2個密碼(同樣糟糕的想法2個密碼箱)

0

我證實了保安人員的要求,顯然我錯過了閱讀要求。但是,我已經看到基於Windows的應用程序執行此操作。光標在每個關鍵行程上移動,但不使用星號,星號或小節。感謝大家提出的建議和意見。