网页如何禁止鼠标右键和F12,键盘另存为、粘贴、复制事件

最近做的商用后台项目涉及到前端加密技术,为了保证前端页面展示的数据不被窃取,所以在js上做了一些处理,这些处理并不能完全杜绝有心之人窃取数据,只是加大他们操作的难度而已。

1.禁止浏览器右键事件。使用浏览器右键可以将网页保存下来,或者审查网页源代码,这是我们想避免的(当然,仍然可以通过浏览器右上角的工具栏打开开发者工具,这里可以判断下鼠标的光标位置,如果光标移动到导航栏及页面body之外的地方,我们可以选择把页面展示的元素清空,这样在控制台看见的源代码也没有展示出来的数据了)。


js实现:

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>禁止鼠标右键事件</title>
</head>
<body>
<p>这里是一些内容,展示禁止鼠标右键事件
</p>
</body>
<script>
    document.oncontextmenu = function(){
        return false;
    }
</script>
</html>

jquery实现:

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>禁止鼠标右键事件</title>
</head>
<body>
<p>这里是一些内容,展示禁止鼠标右键事件
</p>
</body>
<script type="text/javascript" src="http://code.jquery.com/jquery-1.8.2.min.js"></script>
<script>
    $(function(){
        $(document).contextmenu(function() {
            return false
        })
    });
</script>
</html>

2.禁止F12事件,键盘的选择粘贴复制事件
jquery实现:

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>禁止键盘粘贴复制</title>
</head>
<body>
<p>这里是一些内容
</p>
</body>
<script type="text/javascript" src="http://code.jquery.com/jquery-1.8.2.min.js"></script>
<script>
    function forbidKeyboard() {
        $(document).keydown(function(e) {
            /*9:Tab键, 17:Control键, 18:Alt键, 123:F12键, 83:S键*/
            var keyboardCode = [9, 17, 18, 123];
            for (i in keyboardCode) {
                if (keyboardCode[i] == e.keyCode) {
                    return false;
                }
            }
            if ((e.keyCode == 83) && (e.ctrlKey || e.metaKey)) {
                return false;
            }
        });
        /*禁止文本选择功能*/
        $(document).bind("selectstart",function(){return false;});
    }
    $(function(){
        forbidKeyboard();
    });
</script>
</html>

js实现:

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>js禁止f12事件</title>
    <script>
        window.onload = function(){
            document.onkeydown = function(event){
                var ev = event || window.event || arguments.callee.caller.arguments[0];
                //123 代表F12键
                if(event.keyCode = 123){
                    return false;
                }
            }
        }
    </script>
</head>
<body>
<p>这里是一些内容</p>
</body>
</html>

原文作者技术博客:https://www.jianshu.com/u/ac4daaeecdfe
95后前端妹子一枚,爱阅读,爱交友,将工作中遇到的问题记录在这里,希望给每一个看到的你能带来一点帮助。
欢迎留言交流。

最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 180,850评论 25赞 708
  • 用两张图告诉你,为什么你的 App 会卡顿? - Android - 掘金 Cover 有什么料? 从这篇文章中你...
    hw1212阅读 14,704评论 2赞 59
  • 第一部分 HTML&CSS整理答案 1. 什么是HTML5? 答:HTML5是最新的HTML标准。 注意:讲述HT...
    kismetajun阅读 29,300评论 1赞 45
  • 同行没有通知我一起去进货。 感到意外。同时也能理解。但很容易将自己推向被动,被抛弃。 为什么一被否定,就将自己丟进...
    Joy君阅读 219评论 0赞 0
  • 写下鲸鱼的第一次恋爱 只是为了告诫自己不要太相信男人。 5月4号 看到你发的朋友圈 心很疼 想第一时间知道你的情况...
    鲸鱼欧尼阅读 660评论 0赞 1

友情链接更多精彩内容