水印在网页安全中至关重要,但用户可以通过浏览器的“隐藏元素”选项轻松绕过这种保护措施。本文将探讨如何在浏览器中禁止隐藏元素,以及隐藏元素可能引发的事件和样式修改。
1. 禁止右键查看源码和 f12
通过阻止打开控制台,可以防止用户进行代码调试:
// 禁止 f12 键盘事件 document.addeventlistener('keydown', function(event){ return 123 != event.keycode || (event.returnvalue = false) }); // 禁止右键、选择、复制 document.addeventlistener(‘'contextmenu'’, function(event){ return event.returnvalue = false })
2. 通过页面宽度变化监测控制台
浏览器可视区域和浏览器宽高之间的差值可以用于监测控制台是否开启:
function resize(){ var threshold = 200; var widththreshold = window.outerwidth - window.innerwidth > threshold; var heightthreshold = window.outerheight - window.innerheight > threshold; if(widththreshold || heightthreshold){ console.log('控制台打开了') } } window.addeventlistener('resize', resize); resize()
3. 利用 debugger 特性的无限递归
该方法可以阻止用户浏览代码,但不能检测控制台是否打开:
function check() { function doCheck(a) { (function() {}["constructor"]("debugger")()); //debugger doCheck(++a); } try { doCheck(0) } catch(err) { console.log(err) } }
4. 将水印转换为图片
将水印转换为图片可以防止用户单独将其删除。
以上就是如何防止用户通过浏览器“隐藏元素”选项绕过网页水印保护?的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号