禁用F12健鼠标右键以及浏览器控制台打开网站

禁用F12健鼠标右键以及浏览器控制台打开网站

1.有时候我们不想让别人调试爬取我们的网站,我们可以禁用F12及鼠标右键,具体代码如下:

//禁用F12
document.onkeydown = function(){
    if(window.event && window.event.keyCode == 123) {
        alert("不要扒网站啦,一首凉凉送给你");
        event.keyCode=0;
        event.returnValue=false;
    }
    if(window.event && window.event.keyCode == 13) {
        window.event.keyCode = 505;
    }
    if(window.event && window.event.keyCode == 8) {
        alert(str+"\n请使用Del键进行字符的删除操作!");
        window.event.returnValue=false;
    }
}

//禁用右键
document.oncontextmenu = function (event){
if(window.event){
alert("不要扒网站啦,一首凉凉送给你");
event = window.event;
}try{
var the = event.srcElement;
if (!((the.tagName == "INPUT" && the.type.toLowerCase() == "text") || the.tagName == "TEXTAREA")){
return false;
}
return true;
}catch (e){
return false;
}
}

//禁用粘贴
document.onpaste = function (event){
if(window.event){
event = window.event;
}try{
var the = event.srcElement;
if (!((the.tagName == "INPUT" && the.type.toLowerCase() == "text") || the.tagName == "TEXTAREA")){
return false;
}
return true;
}catch (e){
return false;
}
}

//禁用复制
document.oncopy = function (event){
if(window.event){
event = window.event;
}try{
var the = event.srcElement;
if(!((the.tagName == "INPUT" && the.type.toLowerCase() == "text") || the.tagName == "TEXTAREA")){
return false;
}
return true;
}catch (e){
return false;
}
}

//禁用剪切
document.oncut = function (event){
if(window.event){
event = window.event;
}try{
var the = event.srcElement;
if(!((the.tagName == "INPUT" && the.type.toLowerCase() == "text") || the.tagName == "TEXTAREA")){
return false;
}
return true;
}catch (e){
return false;
}
}
//禁用选中
document.onselectstart = function (event){
if(window.event){
event = window.event;
}try{
var the = event.srcElement;
if (!((the.tagName == "INPUT" && the.type.toLowerCase() == "text") || the.tagName == "TEXTAREA")){
return false;
}
return true;
} catch (e) {
return false;
}
}

2.当我们添加以上代码后,还会有一点问题,就是当别人先打开浏览器点开F12后在输入我们的网址就不会屏蔽,我们可以再次添加一些代码进行无限debugger,这样别人也不会拿到我们网站的资源,具体代码如下:

//无限debugger,开发中无法获取图片资源
 setInterval(function() {
        check();
      }, 2000);
      var check = function() {
        function doCheck(a) {
          if (('' + a / a)['length'] !== 1 || a % 20 === 0) {
            (function() {}['constructor']('debugger')());
          } else {
            (function() {}['constructor']('debugger')());
          }
          doCheck(++a);
        }
        try {
          doCheck(0);
        } catch (err) {}
      };
      check();

3.如果用户Ctrl + Shift + I 也可以打开控制台,这样我们可以判断检测浏览器高度进行网页跳转比如跳转到百度,如果用户Ctrl + Shift + I 打开控制台,浏览器会发生变化进行网页的跳转,这样别人就打开不了控制台了(需要排除手机端,不然的话手机端用户点击搜索框浏览器高度发生变化也会跳转,本代码使用ua检测用户的浏览器排除了手机端),如果用户先打开浏览器开发者模式并且切换到手机模式,那么我们就可以在加一个debug代码配合着用就可以了,具体代码如下(评论后刷新即可拿到)

因此3种方法配合着使用就可以了。

免责声明:

  • 1.本站所提供的全部内容仅限于交流、学习与研究使用,请勿用于非法目的。
  • 2.任何使用本站内容而出现的意外或损失,本站概不负责。
  • 3.本站遵守国家法律法规,禁止制作、复制、发布、传播任何具有反动、色情、暴力、淫秽,政治等内容的信息,一经发现,立即删除,并锁定IP地址移交给公安机关处理。
  • 4.本站的留言、评论与转载内容,仅代表原作者个人观点,与本站观点或立场无关,所有评论、留言均需经过审核后方可正常显示,本站有权删除和过滤违反法律法规的或不正当的言论。
  • 5.本站的文章部分内容可能来源于网络或转载于其他文章,仅供大家学习与参考,如有侵权,请联系站长QQ:1823782755进行删除处理。
  • 6.本站可能会包含第三方网站的链接,点击后或将离开本站并进入其他站点,本站不对其他站点的内容负责。
  • 7.本站一切资源不代表本站立场,并不代表本站赞同其观点和对其真实性负责。
  • 8.根据《计算机软件保护条例》第十七条,为了学习和研究软件内含的设计思想和原理,通过安装、显示、传输或者存储软件等方式使用软件的,可以不经软件著作权人许可,不向其支付报酬,本站所有软件资料仅用于学习研究。
  • 9.本站一律禁止以任何方式发布或转载任何违法的相关信息,访客发现请向站长举报。
  • 10.本站文章采用 知识共享署名-相同方式共享 4.0 国际许可协议 进行许可,阅读后请勿用于非法用途。
  • 点我去本站旗下导航网

    更多知识,请关注微信公众号“51学代码”

    © 版权声明
    THE END
    喜欢就支持一下吧
    点赞266 分享
    jjz的头像-51学代码
    评论 共6条
    头像
    发一个友善的评论吧!
    提交
    头像

    昵称

    取消
    昵称表情代码图片
      • 头像null北京市丰台区 联通0
      • 头像阿里北京市 移动0
      • 头像试试泰国曼谷 华为云0
      • 头像One日本 东京Oracle云计算数据中心0