客户端安全1--禁止快捷键

对于网页安全,在客户端一般的做法就是禁止用户右键,禁止页面复制,禁止控制台,禁止保存页面,虽说前端做数据安全作用有限,但是至少可以提高不法之徒的门槛。因为mac的快捷键和win不一样,所以分开来写。

$(window).on('keydown',function(e){
    if (/macintosh|mac os x/i.test(navigator.userAgent)) {//是否为mac
        if((e.metaKey&& e.keyCode==83) || //禁止保存网页
        ((e.altKey) && (e.keyCode ==85) && (e.metaKey)) ||  //禁止ctrl+U
        ((e.altKey) && (e.keyCode ==73) && (e.metaKey)))  { //控制台
            alert('为保证数据安全,该操作已被禁止!');
            e.stopPropagation();
            e.preventDefault();
            return false;
      }
  } else {  //window系统
        if (e.keyCode===123 || ((e.ctrlKey)  &&  (e.shiftKey) && (e.keyCode ==73)) || //禁止调取控制台
        ((e.ctrlKey) && (e.keyCode ==85)) || //禁止ctrl+U
        ((event.ctrlKey) && (event.keyCode ==83))) {  //禁止保存网页
          alert('为保证数据安全,该操作已被禁止!');
          e.stopPropagation();
          e.preventDefault();
          return false;
    }
}
}).on('contextmenu',function(){
        window.event.returnvalue = false;
        return false;
    }).on('selectstart',function(){//禁止用户选中文本复制
        return false;
    });

当然这个还是有些兼容性的问题,比如低版本的ie禁止不了控制台等,我的做法是禁止用户使用低版本的浏览器访问,引导用户使用高版本的浏览器。

你可能感兴趣的:(客户端安全1--禁止快捷键)