我想给一个相当敏感的登录区域增加一些安全性。我读过有关击键动力学的文章,我发现它非常有趣:如果输入模式不被识别,我可以询问更多信息。是否有任何jQuery实现?你能给我关于行为双因素身份验证的其他提示吗?
发布于 2014-01-24 01:06:14
没有通用的,自由给出的解决方案,如何在任何项目中使用击键动态(据我所知)。但是,你可以使用基本的jQuery函数来计算字母之间的动态,然后将其与您的登录和密码一起发送到服务器,服务器可以评估现在给定的动态差异并在您注册新用户时存储(您需要自己的算法)。
我为您创建一个简短的示例。
for save Keystroke dynamics with javascript
var tmr = []; // array to save keyup times
$('#pwd').keyup(function(evt) {
tmr.push({"tmr":evt.timeStamp,
"cod":evt.which});
console.log("Key code: "+evt.which+" On time: "+evt.timeStamp);
});然后,您可以发送结果与密码和登录,就像任何其他输入从html表单。
您可以像这样计算动力学时间:
var ret = "";
for(var i = 0; i < tmr.length - 1; ++i) {
ret += ((i>0)?";":"") + (tmr[i+1].tmr - tmr[i].tmr);
}然后,你必须创建脚本来评估实际的动态与用户存储的动态。也许我可以帮你一点忙。祝好运。
发布于 2017-03-24 22:54:24
问题要复杂得多,不是只用JavaScript就能解决的问题。身份验证本身是通过API使用复杂的机器学习算法来完成的。JavaScript仅用于记录类型模式。
在TypingDNA,我编写了带有Apache license的a JavaScript implementation (你可以自由使用来记录网页中的输入模式),但是如果你想实际执行身份验证,你必须使用API。
如果您有特定的问题,请让我知道。
https://stackoverflow.com/questions/21307400
复制相似问题