• 网页不让用户复制方法总汇,设置html禁止选择,保护源码,js禁止复制文字


    这篇文章主要讲解:右键复制失效方法、菜单"文件"-"另存为"失效方法、防止查看源代码进行复制的方法、防止页面缓存的方法。来达到一定的代码保护效果

    右键复制失效方法:

    方法一:

    <script language="Javascript">
    document.oncontextmenu=new Function("event.returnValue=false");document.onselectstart=new Function("event.returnValue=false");
    </script>

    方法二:

    <body oncontextmenu="return false" onselectstart="return false">

    或者

    <body oncontextmenu="event.returnValue=false" onselectstart="event.returnValue=false">

    方法三:

    <body oncopy="alert('对不起,本网页禁止复制!');return false;">

    方法四:

    body{//通过css设置body
        -webkit-user-select:none;
        -moz-user-select:none;
        -ms-user-select:none;
        user-select:none;
    }

    上面方法都是针对整个页面的,如果只想对某一个div的内容不让用户复制,你需要这样做把body换位对应div

    菜单"文件"-"另存为"失效方法:  

    如果只是禁止了右键和选择复制,别人还可以通过浏览器菜单中的"文件"-"另存为"拷贝文件。为了使拷贝失效,可以在<body>与</body>之间加入以下代码: 

    <noscript><iframe src="*.htm"></iframe></noscript>

    这样用户再选择“另存为”,就会出现"无法保存Web页"的错误

    防止查看源代码进行复制的方法:

    通过js实现静止右键和F12,Shift+F10,Ctrl+Shift+I等查看源代码的方法:

    <script language="javascript">
        function click(e) {
            if(document.all) {
                
                if(event.button == 2 || event.button == 3) {
                    oncontextmenu = 'return false';
                }
            }
            if(document.layers) {
                if(e.which == 3) {
                    oncontextmenu = 'return false';
                }
            }
        }
        if(document.layers) {
            document.captureEvents(Event.MOUSEDOWN);
        }
        document.onmousedown = click;
        document.oncontextmenu = new Function("return false;")
        document.onkeydown = document.onkeyup = document.onkeypress = function() {
            //123屏蔽F12,73屏蔽Ctrl+Shift+I,121屏蔽Shift+F10
            if(window.event.keyCode == 123 || window.event.keyCode == 73 || window.event.keyCode == 121) {
                window.event.returnValue = false;
                return(false);
            }
        }
    </script>

    防止页面缓存的方法

    方法一:通过设置mate

    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=8">
    <meta http-equiv="Expires" content="0">
    <meta http-equiv="Pragma" content="no-cache">
    <meta http-equiv="Cache-control" content="no-cache">
    <meta http-equiv="Cache" content="no-cache">

    方法二:对不需要缓存的图片,js等文件地址后添加随机数即可,例如:

    <img src="picture.jpg?1222259157.415" alt="">

    <script> 
    document.write("<script type='text/javascript' src='test.js?"+Math.random();+"'></script>"); 
    </script>

    总结:

    以上方法只能单纯的防止用户不能复制,起一定的保护源码的作用,主要只防止不劳而获的小白。而且浏览器很多都自带有查看网页源代码的功能,目前为止这块是没办法做到真正屏蔽的,我们只能通过压缩混淆加密等方法来处理我们的源码,能增加阅读破解的成本。

  • 相关阅读:
    wenti
    vim
    在两种情况下设备与驱动会发生匹配
    用Qt图形视图框架开发拼图游戏
    Android RecyclerView添加Header头部
    Android Glide加载图片时转换为圆形、圆角、毛玻璃等图片效果
    Java 集合深入理解(4):List<E> 接口
    你们公司有职业通路图吗
    linux系统性能监控--内存利用率
    linux系统性能监控--CPU利用率
  • 原文地址:https://www.cnblogs.com/ypppt/p/12942773.html
Copyright © 2020-2023  润新知