禁止查看网页源代码和禁用右键的方法

不忘初心
不忘初心
不忘初心
80
文章
666
评论
2021年4月23日14:09:12
评论
18464

总是有新手问,如何禁止别人查看自己的网页源代码?答案是没有,对于有经验者所有方法都是徒劳的。

<script type="text/javascript">
document.onkeydown = function() {
	var e = window.event || arguments[0];
	if (e.keyCode == 123) {
		alert('禁止F12');
		return false;
	} else if ((e.ctrlKey) && (e.shiftKey) && (e.keyCode == 73)) {
		alert('禁止Ctrl+Shift+I');
		return false;
	} else if ((e.ctrlKey) && (e.keyCode == 85)) {
		alert('禁止Ctrl+u');
		return false;
	} else if ((e.ctrlKey) && (e.keyCode == 83)) {
		alert('禁止Ctrl+s');
		return false;
	}
}
// 屏蔽鼠标右键
document.oncontextmenu = function() {
	alert('禁止右键');
	return false;
}
</script>

 

上述代码用下面的包裹起来之后,不显示提示信息:

window.onload = function() {
// 代码
}

 

另一段JS代码,可以阻止浏览器开发工具正常使用

<script type="text/javascript">
((function() {
	var callbacks = [],
	timeLimit = 50,
	open = false;
	setInterval(loop, 1);
	return {
		addListener: function(fn) {
			callbacks.push(fn);
		},
		cancleListenr: function(fn) {
			callbacks = callbacks.filter(function(v) {
				return v !== fn;
			});
		}
	}
	function loop() {
		var startTime = new Date();
		debugger;
		if (new Date() - startTime > timeLimit) {
			if (!open) {
				callbacks.forEach(function(fn) {
					fn.call(null);
				});
			}
			open = true;
			window.stop();
			alert('禁止查看');
			window.location.reload();
		} else {
			open = false;
		}
	}
})())
 
.addListener(function() {
	window.location.reload();
});
</script>

上述方法只要浏览器禁止JS脚本后都将无效,虽然还有人在想方设法地研究这个,但火狐和chrome众多一键禁止JS扩展让这些努力毫无意义。

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

不忘初心
  • 本文由 发表于 2021年4月23日14:09:12
  • 转载请务必保留本文链接:https://www.pc521.net/js-code.html

发表评论