关于jQuery的击键动态

时间:2014-01-23 11:53:38

标签: jquery security authentication

我想在一个非常敏感的登录区域添加一些安全性。我读过有关击键动力学的内容,我发现它非常有趣:如果输入模式未被识别,我可以询问更多信息。有没有jQuery实现?你能给我一些关于行为双因素身份验证的提示吗?

2 个答案:

答案 0 :(得分:3)

如果在任何项目中使用Keystroke Dynamic,都没有通用的,自由给出的解决方案(据我所知)。但是,您可以使用基本的jQuery函数来计算字母之间的动态,然后将其与您的登录名和密码一起发送到服务器,服务器可以评估现在给出的动态差异,并在注册新用户时存储(您需要自己的算法)。
我为你创造了一个简短的例子。

Online demo 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);
    }

然后,您自己必须创建用于评估实际动态的脚本,并为用户存储动力学。也许我会帮你一点。祝你好运。

答案 1 :(得分:0)

问题更复杂,只有JavaScript才能做到这一点。身份验证本身是通过API使用复杂的机器学习算法完成的。 JavaScript仅用于记录打字模式。

TypingDNA我已经编写了a JavaScript implementation附带的Apache许可证(您可以自由地使用它来记录网页中的输入模式),但是如果您想要实际执行身份验证,那么您需要&# 39; ll必须使用API​​。

如果您有具体问题请告诉我。