对于网页安全,在客户端一般的做法就是禁止用户右键,禁止页面复制,禁止控制台,禁止保存页面,虽说前端做数据安全作用有限,但是至少可以提高不法之徒的门槛。因为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禁止不了控制台等,我的做法是禁止用户使用低版本的浏览器访问,引导用户使用高版本的浏览器。