登录
首页 >  文章 >  前端

如何防止用户通过浏览器“隐藏元素”选项绕过网页水印保护?

时间:2024-11-09 14:10:08 325浏览 收藏

小伙伴们对文章编程感兴趣吗?是否正在学习相关知识点?如果是,那么本文《如何防止用户通过浏览器“隐藏元素”选项绕过网页水印保护?》,就很适合你,本篇文章讲解的知识点主要包括。在之后的文章中也会多多分享相关知识点,希望对大家的知识积累有所帮助!

如何防止用户通过浏览器“隐藏元素”选项绕过网页水印保护?

如何防止用户滥用浏览器隐藏元素设置

水印在网页安全中至关重要,但用户可以通过浏览器的“隐藏元素”选项轻松绕过这种保护措施。本文将探讨如何在浏览器中禁止隐藏元素,以及隐藏元素可能引发的事件和样式修改。

禁用隐藏元素的解决方案

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. 将水印转换为图片

将水印转换为图片可以防止用户单独将其删除。

终于介绍完啦!小伙伴们,这篇关于《如何防止用户通过浏览器“隐藏元素”选项绕过网页水印保护?》的介绍应该让你收获多多了吧!欢迎大家收藏或分享给更多需要学习的朋友吧~golang学习网公众号也会发布文章相关知识,快来关注吧!

相关阅读
更多>
最新阅读
更多>
课程推荐
更多>