如何避免密码注入文本框

时间:2015-07-02 14:31:12

标签: .net code-injection password-protection

我想知道是否可以避免某些“机器人”将密码注入Winform .NET应用程序的文本框中。

我有一个应用程序允许用户直接在文本框中键入密码,或者使用一种“虚拟键盘”(它在点击之前隐藏字母并在此之后混合它们)。代码在文本框中受到“CTRL-V”保护,以避免某些“机器人”在代码中推送密码。

换句话说,每次完成经过身份验证的条目(通过键入或虚拟键盘)时,我都会填写 phantom_password ,并且将检查 phantom_password

可在此处找到示例代码:

@Secured

没关系,它可以防止文本框中的CTRL-V,即使没有直接键入或键盘选择的任何其他字符 - 至少,我想它。

我的怀疑:

  • 我可以确保 KeyDown KeyPress 事件是键盘独占的(由键盘API执行)吗?或者它们可以被出现在文本框中的任何字符触发(例如 Textchanged 事件)?

  • 是否有一些方法可以更改文本框值(例如直接内存写入)。但在这种情况下,如果上述事件不会被解雇,我将受到保护。

那么,这个例程对于将密码注入/测试到Winform应用程序的机器人是否有效?

注意:我并不担心'n'有效/无效的尝试以及该操作的后果。我只关注这个问题,以便有效地避免密码注入Winform文本框。

感谢您的关注。

0 个答案:

没有答案