登录
首页 >  文章 >  前端

如何防止用户使用浏览器工具隐藏网页水印?

时间:2024-11-25 09:04:02 331浏览 收藏

小伙伴们有没有觉得学习文章很有意思?有意思就对了!今天就给大家带来《如何防止用户使用浏览器工具隐藏网页水印? 》,以下内容将会涉及到,若是在学习中对其中部分知识点有疑问,或许看了本文就能帮到你!

如何防止用户使用浏览器工具隐藏网页水印?

如何阻止用户使用浏览器隐藏元素设置

在制作网页水印时,为防止用户篡改,需考虑浏览器提供的隐藏元素选项带来的潜在风险。以下是禁止浏览器隐藏元素的几种方法:

  1. 禁止右键查看源码和 F12
// 禁止 F12 键盘事件
document.addEventListener('keydown', function(event) {
  return 123 != event.keyCode || (event.returnValue = false)
});

// 禁止右键、选择、复制
document.addEventListener('contextmenu', function(event) {
  return event.returnValue = false
})
  1. 通过页面宽度变化监测控制台

监测浏览器的可视区域宽高和浏览器宽高的差值。如果差值大于指定阈值,则认为控制台已被开启。

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()
  1. 利用 debugger 的特性进行无限递归
function check() {
  function doCheck(a) {
    (function() {}["constructor"]("debugger")()); //debugger
    doCheck(++a);
  }
  try {
    doCheck(0)
  } catch(err) {
    console.log(err)
  }
}

如果控制台未开启,debugger 将不会起作用,但递归会继续,直至浏览器堆栈溢出抛出错误。如果控制台开启,则会触发不断断点的调试,严重时可能导致浏览器卡死。

此外,还可以考虑将网页整体转换成图片,以避免用户单独移除隐藏元素。

今天关于《如何防止用户使用浏览器工具隐藏网页水印? 》的内容就介绍到这里了,是不是学起来一目了然!想要了解更多关于的内容请关注golang学习网公众号!

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