2010-04-24 75 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的应用程序执行此操作。光标在每个关键行程上移动,但不使用星号,星号或小节。感谢大家提出的建议和意见。