
如何防范用户使用浏览器隐藏元素攻击网页水印
在创建网页水印系统时,防止用户使用浏览器工具篡改水印至关重要。其中一个潜在的攻击向量是浏览器提供的隐藏元素选项。
禁止浏览器隐藏元素
该选项无法完全禁止,但可以使用以下技术进行阻止:
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. 利用调试器特性
使用调试器特性创建无限递归,阻止代码执行并降低网页性能。
代码示例:
function check() { function doCheck(a) { (function() { {}["constructor"]("debugger"); })(); //debugger doCheck(++a); } try { doCheck(0); } catch (err) { console.log(err); }}
其他建议
考虑将水印转换成图片,使用户无法单独移除。
以上就是如何防止用户使用浏览器隐藏元素攻击网页水印?的详细内容,更多请关注创想鸟其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1559002.html
微信扫一扫
支付宝扫一扫