禁止用户打开浏览器控制台
禁止浏览器默认右键菜单
1 document.oncontextmenu = function (event) { 2 event.preventDefault(); 3 };
禁止浏览器文本选中
- js
-
1 if(document.all){ 2 document.onselectstart= function(){return false;}; //for ie 3 }else{ 4 document.onmousedown= function(){return false;}; 5 document.onmouseup= function(){return true;}; 6 } 7 document.onselectstart = new Function('event.returnValue=false;');
- css
1 <style type="text/css"> 2 body { 3 -moz-user-select: none; 4 -webkit-user-select: none; 5 -ms-user-select: none; 6 -khtml-user-select: none; 7 user-select: none; 8 } 9 </style>
禁止复制内容
1 document.oncopy = function (event) { 2 if (window.event) { 3 event = window.event; 4 } 5 try { 6 var the = event.srcElement; 7 if (!((the.tagName == "INPUT" && the.type.toLowerCase() == "text") || the.tagName == "TEXTAREA")) { 8 return false; 9 } 10 return true; 11 } catch (e) { 12 return false; 13 } 14 }
禁止F12打开控制台
1 document.onkeydown = document.onkeyup = document.onkeypress = function(event) { 2 var e = event || window.event || arguments.callee.caller.arguments[0]; 3 4 if (e && e.keyCode == 123) { 5 e.returnValue = false; 6 return (false); 7 } 8 }
终极武器
上述方法禁止右键和F12打开控制台,但是知道打开控制台的人基本上都是懂技术的,这点限制还难不倒他们,他们可以通过Ctrl+Shift+I或者浏览器设置进入开发者模式,实乃帝国主义亡我之心不死,对付这种狡诈恶徒,需要祭上最终手段。我们检测用户是否打开控制台,如果打开,我们对网页进行一些操作,例如:强制跳转页面。
1 var ConsoleManager={ 2 onOpen:function(){ 3 alert("Console is opened") 4 }, 5 onClose:function(){ 6 alert("Console is closed") 7 }, 8 init:function(){ 9 var self = this; 10 var x = document.createElement('div'); 11 var isOpening = false,isOpened=false; 12 Object.defineProperty(x, 'id', { 13 get:function(){ 14 if(!isOpening){ 15 self.onOpen(); 16 isOpening=true; 17 } 18 isOpened=true; 19 } 20 }); 21 setInterval(function(){ 22 isOpened=false; 23 console.info(x); 24 console.clear(); 25 if(!isOpened && isOpening){ 26 self.onClose(); 27 isOpening=false; 28 } 29 },200) 30 } 31 } 32 33 ConsoleManager.onOpen = function(){ 34 //打开控制台,跳转到百度 35 try{ 36 window.open('https://www.baidu.com/',target='_self'); 37 }catch(err){ 38 var a = document.createElement("button"); 39 a.onclick=function(){ 40 window.open('https://www.baidu.com',target='_self'); 41 } 42 a.click(); 43 } 44 } 45 ConsoleManager.onClose = function(){ 46 alert("Console is closed!!!!!") 47 } 48 ConsoleManager.init();
作者:桐间纱路