1. 使用JavaScript禁用F12

document.addEventListener('keydown', function(e) {
    if (e.keyCode === 123) { // F12键的键码
        e.preventDefault();
        alert('开发者工具已被禁用!');
    }
});

2. 使用CSS禁用右键菜单

body {
    -webkit-user-select: none; /* 禁用选择文本 */
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    
    -webkit-user-drag: none; /* 禁用拖动元素 */
    user-drag: none;
}
 
/* 禁用右键菜单 */
body {
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -khtml-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}
 
/* 禁用上下文菜单 */
document.addEventListener('contextmenu', function(e) {
    e.preventDefault();
}, false);

3. 使用CSP策略

通过设置内容安全策略(CSP),可以限制浏览器加载某些类型的资源,包括内联脚本,这可能有助于防止某些类型的调试。

<meta http-equiv="Content-Security-Policy" content="default-src 'self'; script-src 'self'">

4. 使用HTTPS

确保你的网站使用HTTPS,这样可以防止中间人攻击,从而减少用户通过代理服务器查看网页内容的可能性。

5. 混淆代码

虽然这不是直接阻止F12的方法,但可以通过混淆JavaScript代码来增加他人阅读和理解代码的难度。

6. 使用服务端渲染

通过服务端渲染(SSR)生成HTML,可以减少客户端JavaScript的执行,从而减少用户通过开发者工具查看源代码的机会。

7.使用debugger阻止

setInterval(function() {
 
            var startTime = performance.now();
              // 设置断点
            debugger; 
            var endTime = performance.now();
               // 设置一个阈值,例如100毫秒
            if (endTime - startTime > 100) {
                window.location.href = 'about:blank';
            } 
            
        }, 100);
最后修改:2024 年 11 月 20 日 04 : 31 PM
如果觉得我的文章对你有用,请随意赞赏
  • 本文作者:雨落倾城
  • 本文链接:https://yuluoqc.xyz/2024/11/20/1040.html
  • 版权声明:本博客所有文章除特别声明外,均默认采用 CC BY-NC-SA 4.0 许可协议。
  • # 商业转载请联系作者获得授权,非商业转载请注明出处
    # 协议(License):署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0)
    # For commercial use, please contact the author for authorization. For non-commercial use, please indicate the source.