隐藏

如何使用JS拦截并禁止用户复制、剪切、粘贴、鼠标右键并如何破解

发布:2023/2/12 14:04:44作者:管理员 来源:本站 浏览次数:956

前言


想必大家经常会遇到这样的需求,禁止用户复制、剪切、另存为、鼠标右键的操作等。今天一篇文章学会拦截并禁止用户特定操作及破解方法。正所谓道高一尺魔高一丈啊能禁止也能破解

1. 禁止用户选择 达到无法复制的目的


在相关dom标签上给元素onselectstart 赋值为return false


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


或者在script中写类似下面这种代码:


   document.onselectstart = function(){

       return false;

   }


(阻止事件冒泡:)


   document.onselectstart=function(event){

    event.preventDefault();

   };


2. 禁止复制


<body oncopy = "return false" ></body>


或者


   document.oncopy = function(){

       return false;

   }


或者


   document.oncopy=function(e){

     e.preventDefault();

   }


3.禁止剪切


<body oncut = "return false" ></body>


或者


   document.oncut = function(){

       return false;

   }


或者


   document.oncut=function(e){

     e.preventDefault();

   }


4.屏蔽粘贴


<body onpaste= "return false" ></body>


或者


   document.onpaste= function(){

       return false;

   }


或者


   document.onpaste=function(e){

     e.preventDefault();

   }


5.禁止鼠标右键


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


或者


   document.oncontextmenu = function(){

       return false;

   }


或者


   document.onmousedown = function(e){

       if ( e.which === 2 ){ // 鼠标滚轮的按下,滚动不触发

           return false;

       }

       if( e.which === 3  ){// 鼠标右键

           return false;

       }

   }


或者


   document.oncontextmenu=function(e){

     e.preventDefault();

   }


破解方法


破解方案一: 以谷歌为例,按F12打开调试器,在console.log 控制台输入类似下边代码:


   document.onselectstart="";

   或者

   document.onselectstart=true;


如图:


破解方案二: 设置禁用javascript


以谷歌浏览器为例:


打开调试器,---> 打开设置,--- > 勾选禁用JavaScript


如图: