如何防止用户利用浏览器隐藏元素设置篡改网页水印?

如何防止用户利用浏览器隐藏元素设置篡改网页水印?

禁止浏览器隐藏元素设置

防止用户使用浏览器提供的隐藏元素设置功能篡改网页水印时,可以采用以下方案:

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)     } };
登录后复制

不过,用户还可以通过禁用 JavaScript 或安装扩展程序来绕过这些限制。因此,还可以考虑将整体转换成图片,防止单独去掉水印元素。

© 版权声明
THE END
喜欢就支持一下吧
点赞8 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容