ASP.NET在输入期间隐藏密码长度

时间:2010-04-24 18:53:59

标签: asp.net .net-2.0 login passwords hide

我必须隐藏在登录我的asp.net Web应用程序时输入的密码长度。我知道asp.net文本框服务器控件有密码的textmode,但我甚至无法显示。有关如何隐藏用户输入的任何建议吗?

5 个答案:

答案 0 :(得分:1)

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

似乎接近您的要求,但是当您使用黄色时,某些浏览器会突出显示带黄色的输入字段。将字体大小设置为1px是您可以尝试的另一种技巧。

但最简单的方法可能是使用z-index将图像或彩色DIV放在密码字段的顶部。也许一个带有*字符随机增长和缩小的GIF动画将是最好的 - 会让旁观者感到困惑! : - )

用户如何知道该字段被选中是您将拥有的另一个问题,可能需要一些额外的javascript来检测并告诉他们。

答案 1 :(得分:0)

如果你必须(我同意@Ando你不应该因为UI问题),我会使用javascript(onkeydown)将每个字符复制到隐藏的输入字段,并删除框中输入的密钥。

这将允许您在回发时检索密码,同时将输入字段保留为空。

当然,如果用户按下箭头键,删除或退格键,则必须决定如何处理。

从用户的角度来看,隐藏输入的长度似乎是一个非常糟糕的UI想法,你应该争论应该改变规范。

答案 2 :(得分:0)

虽然,我同意其他所有人的观点,但我知道有些时候你不得不做你不同意的事情。

我会建议Mikael做了什么,但他已经做了。 :)
回顾一下:

  

我会使用javascript(onkeydown)来   将每个字符复制到隐藏的输入   字段,并删除输入的密钥   盒子。

     

这将允许您检索   回发时的密码,同时保留   输入字段为用户空。

     

当然,如果用户按下箭头   键,删除或退格,你会的   必须决定如何处理。

你说过:

  

使用Javascript和我的问题   存储在隐藏字段中的是用户   查看页面的来源和   看到它。

我很确定查看源代码只能显示最初下载的内容而不是用户输入的内容。但是,有一些工具(即firefox插件)可以做到这一点。您可以将值存储在javascript变量中,并且仅在发布时将密码放在隐藏字段中,或者使用ajax请求进行身份验证。但是,有了正确的插件,有人也可以找到它。

如果问题是有人看着登录的人的肩膀,那么这些问题(即查看来源)将无关紧要,除非登录的人决定查看来源并向他人展示在哪种情况下只是让他更容易告诉对方他的密码。

答案 3 :(得分:0)

同意这不是最好的主意......

1)当您开始输入时,在每次按键时,限制特定字符作为密码的一部分(例如管道),然后当用户键入时,添加一个ramdom数量的管道(例如0到4个管道之间) )然后只是删除这些服务器端?

2)将这些添加到隐藏字段...如果用户执行View_Source,他们只会看到字段的原始值,即将为空...只需记住清除值,如果您需要依赖关于如何渲染(asp.net webform隐藏字段控件)等

3)有2个密码箱,需要2个密码(同样糟糕的想法)

答案 4 :(得分:0)

我向安保人员确认了要求,显然我错过了阅读要求。但是,我已经看到基于Windows的应用程序执行此操作。光标在每个键击上移动,但不使用星号,星号或条形。感谢大家的建议和意见。