威宁热线

威宁团菜到家

[技术分享] 禁止查看网页源代码方法

[复制链接]
威宁热线 发表于 2021-2-9 23:36:19 | 显示全部楼层 |阅读模式
如何禁止别人查看自己的网页源代码?答案是没有,对于有经验者所有方法都是徒劳的。一般常用的方法是在网页中加上类似的JS代码,屏蔽屏蔽键盘和鼠标右键。
  1. document.onkeydown = function() {
  2.         var e = window.event || arguments[0];
  3.         if (e.keyCode == 123) {
  4.                 alert('禁止F12');
  5.                 return false;
  6.         } else if ((e.ctrlKey) && (e.shiftKey) && (e.keyCode == 73)) {
  7.                 alert('禁止Ctrl+Shift+I');
  8.                 return false;
  9.         } else if ((e.ctrlKey) && (e.keyCode == 85)) {
  10.                 alert('禁止Ctrl+u');
  11.                 return false;
  12.         } else if ((e.ctrlKey) && (e.keyCode == 83)) {
  13.                 alert('禁止Ctrl+s');
  14.                 return false;
  15.         }
  16. }
  17. // 屏蔽鼠标右键
  18. document.oncontextmenu = function() {
  19.         alert('禁止右键');
  20.         return false;
  21. }
复制代码
上述代码用下面的包裹起来之后,不显示提示信息:
  1. window.onload = function() {
  2. // 代码
  3. }
复制代码
另一段JS代码,可以阻止浏览器开发工具正常使用
  1. <script type="text/javascript">
  2. ((function() {
  3.         var callbacks = [],
  4.         timeLimit = 50,
  5.         open = false;
  6.         setInterval(loop, 1);
  7.         return {
  8.                 addListener: function(fn) {
  9.                         callbacks.push(fn);
  10.                 },
  11.                 cancleListenr: function(fn) {
  12.                         callbacks = callbacks.filter(function(v) {
  13.                                 return v !== fn;
  14.                         });
  15.                 }
  16.         }
  17.         function loop() {
  18.                 var startTime = new Date();
  19.                 debugger;
  20.                 if (new Date() - startTime > timeLimit) {
  21.                         if (!open) {
  22.                                 callbacks.forEach(function(fn) {
  23.                                         fn.call(null);
  24.                                 });
  25.                         }
  26.                         open = true;
  27.                         window.stop();
  28.                         alert('禁止查看');
  29.                         window.location.reload();
  30.                 } else {
  31.                         open = false;
  32.                 }
  33.         }
  34. })())

  35. .addListener(function() {
  36.         window.location.reload();
  37. });
  38. </script>
复制代码
上述方法只要浏览器禁止JS脚本后都将无效,虽然还有人在想方设法地研究这个,但火狐和chrome众多一键禁止JS扩展让这些努力毫无意义。

貌似还有一个比较隐蔽的方法,当打开浏览器开发工具窗口页面大小发生变化,通过JS判断浏览器窗口变化,在开发工具中看不到源代码,不过知道原理后,也是掩耳盗铃...

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表