JS禁用右键、禁用Ctrl+u、禁用Ctrl+s、禁用F12的实现代码


Posted in Javascript onDecember 01, 2020

先来两个简单粗暴的

第一个常用的函数代码

function keycodes(){
 // 禁止右键
 document.oncontextmenu=function(){return false};
 document.onkeydown = function(e) {
   e = window.event || e;
   var k = e.keyCode;
   //屏蔽ctrl+u,F12键
   if ((e.ctrlKey == true && k == 85) || k == 123) {
     e.keyCode = 0;
     e.returnValue = false;
     e.cancelBubble = true;
     return false;
   }
 }
}

第二种方法:

var arr = [123, 17, 18];
document.oncontextmenu = new Function("event.returnValue=false;"),//禁用右键
document.onselectstart = new Function("event.returnValue=false;"),//禁用选中
window.onkeydown = function (e) {
 var code = e.keyCode;
 if (arr.indexOf(code) > -1) {
 console.log("中招了", code);
 e.preventDefault();
 }
}, window.oncontextmenu = function (e) {
 e.preventDefault();
}

第三种方法:

var arr = [123, 17, 18];
document.oncontextmenu = new Function("event.returnValue=false;"),//禁用右键

window.onkeydown = function (e) {
 var keyCode = e.keyCode || e.which || e.charCode;
 var ctrlKey = e.ctrlKey || e.metaKey;
 console.log(keyCode + "--" + keyCode);
 if (ctrlKey && keyCode == 85) {
 console.log("ctrl+u");
 e.preventDefault();
 }
 if (arr.indexOf(keyCode) > -1) {
 console.log("其他");
 e.preventDefault();
 }
 //e.preventDefault();
 //return false;
}

一些常用的代码

1、实现禁止选中文字。

<script>
//网站禁止选择文字
  document.body.onselectstart = function() {
  self.event.returnValue=false
};
</script>

2、实现禁止鼠标右键。

<script>
  //网站禁止右键
  document.body.oncontextmenu = function() {
  self.event.returnValue=false
};
</script>

3、实现禁止F12审查元素。

<script>
	//按键触发
document.onkeydown = function(){
  //禁止 F12
  if (window.event && window.event.keyCode == 123) {
  event.keyCode = 0;
  event.returnValue = false;
  }
  }
</script>

4、实现禁止Ctrl+U查看源代码。

<script>
	//按键触发
document.onkeydown = function(){
  //禁止ctrl+u
  if (event.ctrlKey && window.event.keyCode==85){
  return false;
  }
  }
</script>

5、实现禁止Ctrl+S网页另存为。

<script>
	//按键触发
document.onkeydown = function(){
	//禁止ctrl+s
  if (event.ctrlKey && window.event.keyCode==83){
  return false;
  }
  }
</script>

6、实现禁止F5刷新页面。

<script>
	//按键触发
document.onkeydown = function(){
	//禁止 F5 
  if (window.event && window.event.keyCode == 116) {
  event.keyCode = 0;
  event.returnValue = false;
  }
  }
</script>

all、如果想同时实现以上的几种效果,如下:

<script>
	//按键触发
document.onkeydown = function(){
  //禁止ctrl+u
  if (event.ctrlKey && window.event.keyCode==85){
  return false;
  }
  //禁止 F12
  if (window.event && window.event.keyCode == 123) {
  event.keyCode = 0;
  event.returnValue = false;
  }
	//禁止ctrl+s
  if (event.ctrlKey && window.event.keyCode==83){
  return false;
  }
	//禁止 F5 
  if (window.event && window.event.keyCode == 116) {
  event.keyCode = 0;
  event.returnValue = false;
  }
  }
  //网站禁止右键
  document.body.oncontextmenu = function() {
  self.event.returnValue=false
};
//网站禁止选择文字
  document.body.onselectstart = function() {
  self.event.returnValue=false
};
</script>

JavaScript屏蔽右键F12和Ctrl+U等绝大部分按键

<script type='text/javascript'>
//屏蔽右键菜单
document.oncontextmenu = 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.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.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;
  }
}
//禁止f12

function fuckyou() {
  window.close(); //关闭当前窗口(防抽)
  window.location = "about:blank"; //将当前窗口跳转置空白页
}
//禁止Ctrl+U
var arr = [123, 17, 18];
document.oncontextmenu = new Function("event.returnValue=false;"), //禁用右键

  window.onkeydown = function (e) {
    var keyCode = e.keyCode || e.which || e.charCode;
    var ctrlKey = e.ctrlKey || e.metaKey;
    console.log(keyCode + "--" + keyCode);
    if (ctrlKey && keyCode == 85) {
      e.preventDefault();
    }
    if (arr.indexOf(keyCode) > -1) {
      e.preventDefault();
    }
  }

function ck() {
  console.profile();
  console.profileEnd();
  //我们判断一下profiles里面有没有东西,如果有,肯定有人按F12了,没错!!
  if (console.clear) {
    console.clear()
  };
  if (typeof console.profiles == "object") {
    return console.profiles.length > 0;
  }
}

function hehe() {
  if ((window.console && (console.firebug || console.table && /firebug/i.test(console.table()))) || (
      typeof opera ==
      'object' && typeof opera.postError == 'function' && console.profile.length > 0)) {
    fuckyou();
  }
  if (typeof console.profiles == "object" && console.profiles.length > 0) {
    fuckyou();
  }
}
hehe();
window.onresize = function () {
  if ((window.outerHeight - window.innerHeight) > 200)
    //判断当前窗口内页高度和窗口高度,如果差值大于200,那么呵呵
    fuckyou();
}

document.onkeydown = function (event) {
  if ((event.keyCode == 112) || //屏蔽 F1
    (event.keyCode == 113) || //屏蔽 F2
    (event.keyCode == 114) || //屏蔽 F3
    (event.keyCode == 115) || //屏蔽 F4
    // (event.keyCode == 116) || //屏蔽 F5
    (event.keyCode == 117) || //屏蔽 F6
    (event.keyCode == 118) || //屏蔽 F7
    (event.keyCode == 119) || //屏蔽 F8
    (event.keyCode == 120) || //屏蔽 F9
    (event.keyCode == 121) || //屏蔽 F10
    (event.keyCode == 122) || //屏蔽 F11
    (event.keyCode == 123)) //屏蔽 F12
  {
    return false;
  }
}
window.onhelp = function () {
  return false;
}
</script>

网页禁止右键相关行为代码:禁止复制、禁止 F12、禁止ctrl+u、网站禁止右键

防止网站文章被转载的一些常规方法,禁止复制、禁止 F12、禁止ctrl+u、网站禁止右键;但是这些只是做了一层防护,应对普通的新手编辑足够了,如果别人真想复制你网站的内容,还是有其他方法可以进行复制粘贴的。

下面是代码:

$("body").bind('copy', function (e) {
  var body_element = document.getElementsByTagName('body')[0];
  var selection = window.getSelection();
  var newdiv = document.createElement('div'); newdiv.style.position = 'absolute';
  newdiv.style.left = '-99999px';
  body_element.appendChild(newdiv);
  newdiv.appendChild(selection.getRangeAt(0).cloneContents());
  newdiv.innerHTML = "\u539f\u6587\uff1a<a href='" + document.location.href + "'>" + document.location.href + "</a>\u53d7\u539f\u521b\u534f\u8bae\u4fdd\u62a4\uff0c\u6d4f\u89c8\u5668\u6682\u4e0d\u652f\u6301\u590d\u5236\u7c98\u8d34";
  selection.selectAllChildren(newdiv); window.setTimeout(function () { body_element.removeChild(newdiv) }, 200)
});

上述代码是当选中页面文字,按ctrl+c键进行复制时,会弹出提示框阻止复制操作。

其中,

document.location.href为当前页面url;

\u539f\u6587\uff1a 进行了Unicode编码了的中文字符,转码过来就是“原文:”;

\u53d7\u539f\u521b\u534f\u8bae\u4fdd\u62a4\uff0c\u6d4f\u89c8\u5668\u6682\u4e0d\u652f\u6301\u590d\u5236\u7c98\u8d34 同样的是Unicode编码后的字符串,中文意思为:受原创协议保护,浏览器暂不支持复制粘贴 ;

Unicode编码内容可以借助一些工具进行修改,这里给出站长工具Unicode编码转换链接:http://tool.chinaz.com/tools/unicode.aspx

//按键触发
document.onkeydown = function(){
  //禁止ctrl+u
  if (event.ctrlKey && window.event.keyCode==85){
  return false;
  }
  //禁止 F12
  if (window.event && window.event.keyCode == 123) {
  event.keyCode = 0;
  event.returnValue = false;
  }
  }
  //网站禁止右键
  document.body.oncontextmenu = function() {
  self.event.returnValue=false
};

上面代码是当按下相关按键或者按下鼠标右键触发的提示。

网页如何禁止鼠标右键和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>

js屏蔽chrome F12后页面自动跳转

function a() {
 window.location.href = "https://3water.com/";
 return false
} 
 if (top.window.outerHeight - top.window.innerHeight > 150) {
 a()
 }
 if (top.window.outerWidth - top.window.innerWidth > 150) {
 a()
 }
};
r(document).keydown(function() {
 return y(arguments[0])
});
 
function y(r) {
 var o;
 if (window.event) {
 o = r.keyCode
 } else if (r.which) {
 o = r.which
 }
 if (o == 123) {
 e.larryCmsError("说好的demo版本只演示 不允许F12哦!", e.larryCore.tit);
 return false
 }
 if (r.ctrlKey) {
 if (r.shiftKey && o == 73) {
  e.larryCmsError("说好的demo版本只演示 不允许ctrl+shift+I哦!", e.larryCore.tit);
  return false
 }
 }
 if (r.ctrlKey && o == 83) {
 e.larryCmsError("说好的demo版本只演示 不允许ctrl+s保存哦!", e.larryCore.tit);
 return false
 }
}

具体就是页面加载后执行s();判断是不是有调试工具
和按f12后触发window.onresize判断,和按键key判断

到此这篇关于JS禁用右键、禁用Ctrl+u、禁用Ctrl+s、禁用F12的实现代码的文章就介绍到这了,更多相关JS禁用右键Ctrl内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Javascript 相关文章推荐
JavaScript日历实现代码
Sep 12 Javascript
js 控制下拉菜单刷新的方法
Mar 03 Javascript
浅析Js(Jquery)中,字符串与JSON格式互相转换的示例(直接运行实例)
Jul 09 Javascript
js冒泡、捕获事件及阻止冒泡方法详细总结
May 08 Javascript
jquery实现两边飘浮可关闭的对联广告
Nov 27 Javascript
jq源码解析之绑在$,jQuery上面的方法(实例讲解)
Oct 13 jQuery
vue实现验证码按钮倒计时功能
Apr 10 Javascript
vue-cli的工程模板与构建工具详解
Sep 27 Javascript
微信小程序 scroll-view 水平滚动实现过程解析
Oct 12 Javascript
JS操作Fckeditor的一些常用方法(获取、插入等)
Feb 19 Javascript
Vue2.4+新增属性.sync、$attrs、$listeners的具体使用
Mar 08 Javascript
Vue+Java 通过websocket实现服务器与客户端双向通信操作
Sep 22 Javascript
在Vue里如何把网页的数据导出到Excel的方法
Sep 30 #Javascript
jQuery实现二级导航菜单的示例
Sep 30 #jQuery
javascript canvas封装动态时钟
Sep 30 #Javascript
VUE Elemen-ui之穿梭框使用方法详解
Jan 19 #Javascript
Vue实现穿梭框效果
Sep 30 #Javascript
原生js实现表格翻页和跳转
Sep 29 #Javascript
vue实现井字棋游戏
Sep 29 #Javascript
You might like
对于ThinkPHP框架早期版本的一个SQL注入漏洞详细分析
2014/07/04 PHP
PHP文件下载实例代码浅析
2016/08/17 PHP
PHP通过引用传递参数用法分析
2016/12/01 PHP
PHP框架实现WebSocket在线聊天通讯系统
2019/11/21 PHP
JavaScript 学习笔记(七)字符串的连接
2009/12/31 Javascript
jQuery点击后一组图片左右滑动的实现代码
2012/08/16 Javascript
js 获取(接收)地址栏参数值的方法
2013/04/01 Javascript
jquery 单引号和双引号的区别及使用注意
2013/07/31 Javascript
优化Jquery,提升网页加载速度
2013/11/14 Javascript
通过Javascript读取本地Excel文件内容的代码示例
2014/04/08 Javascript
JQuery1.8 判断元素是否绑定事件的方法
2014/07/10 Javascript
如何让你的Lightbox支持滚轮缩放及Base64图片
2014/12/04 Javascript
Node.js实现JS文件合并小工具
2016/02/02 Javascript
零基础轻松学JavaScript闭包
2016/12/30 Javascript
Angular JS 生成动态二维码的方法
2017/02/23 Javascript
JS创建Tag标签的方法详解
2017/06/09 Javascript
vue-cli 自定义指令directive 添加验证滑块示例
2017/10/19 Javascript
vue 页面加载进度条组件实例
2018/02/05 Javascript
vue2.0实现移动端的输入框实时检索更新列表功能
2018/05/08 Javascript
js实现鼠标单击Tab表单切换效果
2018/05/16 Javascript
浅析JS中回调函数及用法
2018/07/25 Javascript
使用ng-packagr打包Angular的方法示例
2018/09/21 Javascript
vue+element表格导出为Excel文件
2019/09/26 Javascript
Python使用SocketServer模块编写基本服务器程序的教程
2016/07/12 Python
Python 编码处理-str与Unicode的区别
2016/09/06 Python
Python输出各行命令详解
2018/02/01 Python
python打包生成的exe文件运行时提示缺少模块的解决方法
2018/10/31 Python
Python中使用logging和traceback模块记录日志和跟踪异常
2019/04/09 Python
python使用turtle库绘制奥运五环
2020/02/24 Python
torchxrayvision包安装过程(附pytorch1.6cpu版安装)
2020/08/26 Python
python遍历路径破解表单的示例
2020/11/21 Python
美国最大的网上冲印店:Shutterfly
2017/01/01 全球购物
德国户外商店:eXXpozed
2020/07/25 全球购物
毕业设计论文致谢词
2015/05/14 职场文书
《自己去吧》教学反思
2016/02/16 职场文书
职场:企业印章管理制度(模板)
2019/10/18 职场文书