我的老板给了我一张空白支票,以便开发一个非常安全的登录表单。我一直在研究如何使用用户名,密码和验证码进行此操作。这个问题是指密码输入。我认为最好的方法是实现虚拟键盘
虚拟键盘
REST向前端发送一个包含10个数字的数组,此数组中的每个数字表示将在视图中呈现的键的位置。用户将使用此生成的键盘输入密码,然后按Login
。发布请求会将虚拟键盘中按下的键的位置发送到后端。后端将匹配实际引脚使用数字的位置。
我的问题:
也许这不是一个确切的问题,但我认为这有助于了解这个在银行应用程序中非常常用的组件。
注意:很明显,所有请求和响应都将与令牌一起使用以确保安全。
答案 0 :(得分:1)
这会击败最简单的通用键盘记录木马程序,但它无法阻止:
一个。更复杂的现代木马,例如,在登录页面上每次点击时,只需截取鼠标下的内容,特别是默认虚拟键盘;
湾任何关心您网站的内容,专门针对它并解决您的代码。
最终,你无法赢得客户端木马(浏览器中)攻击。攻击者的代码正在使用比您更高级别的权限,因此您可以采取任何措施进行防御,攻击者可以解决此问题。
充其量,你可以让它更烦人的工作,而不是攻击者的价值。这很容易成为一场军备竞赛。但是,您采取的任何此类措施都会损害您网站的可用性和可访问性。对于大多数站点而言,虚拟键盘提供的有限保护功能远远超过了客户的不便。