写点什么

【JS】防止浏览器控制台被直接查看(1)

用户头像
学习委员
关注
发布于: 2021 年 01 月 11 日
【JS】防止浏览器控制台被直接查看(1)

有些网站会禁止用户按 F12 查看源码的。

比如 17素材网,在打开某个素材选择预览的时候,就不允许按 F12。

毕竟【17 素材网】是需要付费才提供前端特效的,被你一个 F12 下去不就白嫖了吗?



其实要禁止用户按 F12 键的原理是监听用户输入事件。


document.onkeydown = document.onkeyup = document.onkeypress = function (event) {    var e = event || window.event || arguments.callee.caller.arguments[0];
if (e && e.keyCode == 123) { mAlert(); e.returnValue = false; return (false); }}
function mAlert() { alert("感谢您使用基础支撑平台,禁止一切想操作控制台的行为!!!");}
复制代码


通过 document.onkeydowndocument.onkeyupdocument.onkeypress 全局监听 按键盘 的所有事件。


var e = event || window.event || arguments.callee.caller.arguments[0]

上面这句是兼容性写法。


e.keyCode 是获取键盘码,键盘上的每个按键,都有对应的一个编码。而 F12 对应的编码是:123。


当监听到用户按下 F12 按键,就执行 mAlert 函数,向用户返回一段信息;同时终止浏览器默认事件。所以浏览器就不会弹出控制台。


以上是一种防君子不防小人的方法。

因为除了按鼠标右键进入之外,还可以先打开一个空的页面,然后按下 F12,再输入网址

这样照样能看到本来按 F12 才能看到的东西。


其实还有方法能防止用户查看控制台的,且听下回分解。

用户头像

学习委员

关注

反派 2019.03.19 加入

哈哈哈哈哈哈哈哈哈哈哈哈哈哈

评论

发布
暂无评论
【JS】防止浏览器控制台被直接查看(1)