如何防止用户使用浏览器隐藏元素攻击网页水印?
2024-11-12 14:34:11
0浏览
收藏
在文章实战开发的过程中,我们经常会遇到一些这样那样的问题,然后要卡好半天,等问题解决了才发现原来一些细节知识点还是没有掌握好。今天golang学习网就整理分享《如何防止用户使用浏览器隐藏元素攻击网页水印? 》,聊聊,希望可以帮助到正在努力赚钱的你。
如何防范用户使用浏览器隐藏元素攻击网页水印
在创建网页水印系统时,防止用户使用浏览器工具篡改水印至关重要。其中一个潜在的攻击向量是浏览器提供的隐藏元素选项。
禁止浏览器隐藏元素
该选项无法完全禁止,但可以使用以下技术进行阻止:
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); } }
其他建议
- 考虑将水印转换成图片,使用户无法单独移除。
今天带大家了解了的相关知识,希望对你有所帮助;关于文章的技术知识我们会一点点深入介绍,欢迎大家关注golang学习网公众号,一起学习编程~

- 上一篇
- Cyan青心意创震撼发布“全面拟人”机器人OrcaⅠ,机器人开始懂情感、有温度

- 下一篇
- Vue.js 中 v-html 指令如何处理特殊字符?
或 )设置为可聚焦。示例:
361浏览
收藏
可聚焦的 div
2. 动态改变

- 文章 · 前端 | 1分钟前 |
- JS获取页面滚动距离方法详解
- 280浏览 收藏

- 文章 · 前端 | 9分钟前 |
- col和colgroup标签怎么用?
- 376浏览 收藏

- 文章 · 前端 | 13分钟前 |
- HTML文本一键复制实现方法
- 439浏览 收藏

- 文章 · 前端 | 14分钟前 |
- Alpine.js与Vite集成优化教程
- 256浏览 收藏

- 文章 · 前端 | 16分钟前 |
- HTML中link与style标签的区别解析
- 318浏览 收藏

- 文章 · 前端 | 22分钟前 | CSS 性能优化 3D地球仪 @keyframes动画 昼夜变化
- CSS实现3D地球仪旋转效果教程
- 269浏览 收藏

- 文章 · 前端 | 23分钟前 | 兼容性 准确性 navigator.userAgent 浏览器检测 特性检测
- JavaScript如何识别浏览器类型
- 482浏览 收藏

- 文章 · 前端 | 27分钟前 |
- React中props的用途与适用场景
- 102浏览 收藏

- 文章 · 前端 | 37分钟前 |
- CSS分页导航active样式技巧
- 287浏览 收藏

- 文章 · 前端 | 38分钟前 | 编译 渲染函数 JavaScript模板引擎 模板语法 XSS安全
- JS模板引擎实现方法解析
- 270浏览 收藏