js屏蔽F12审查元素,禁止修改页面代码等实现代码

yizhihongxing

实现屏蔽F12审查元素和禁止修改页面代码需要结合JavaScript和HTML的相关特性。以下是一个完整的攻略:

1. 使用JavaScript禁止页面右键功能

在页面中加入以下JavaScript代码,可以禁止页面的右键功能:

document.oncontextmenu = function () {
    return false;
}

以上代码中,document.oncontextmenu表示捕获右键菜单事件,函数体内返回 false 表示阻止浏览器打开右键菜单。这样做可以防止用户通过右键查看网页源代码。

2. 使用JavaScript判断F12调起事件

在页面中加入以下JavaScript代码,可以通过捕获F12按键事件来判断用户是否打开了开发者工具:

document.onkeydown = function (event) {
    if (event.keyCode == 123) {
        alert('F12被禁用');
        return false;
    }
}

以上代码中,document.onkeydown表示捕获键盘按下事件,event.keyCode == 123 表示捕获F12按键事件,函数体内通过 alert 方法弹出提示信息,同时返回 false 表示阻止浏览器进行默认操作。这样可以防止用户通过F12查看网页源代码。

3. 使用JavaScript禁用控制台

如果要禁用控制台,可以在页面中加入以下JavaScript代码:

// 禁用控制台
if (typeof console !== 'undefined') {
    console.clear();
    console.info('%c', 'padding:50px 100px; line-height:300px; background:url(https://i.loli.net/2021/06/14/Pt7iSHoQWZeznhb.png) no-repeat;');
    console.info('%c请不要在本站进行非法操作!', 'color:red; font-size: 20px; text-shadow:0px 3px 5px #FFF;');
    console.info('%c您的IP已被记录,请自觉遵守法律法规!', 'color:#333; font-size: 16px;');
    setInterval(function () {
        console.clear();
    }, 1000);
}

以上代码中使用了 if (typeof console !== 'undefined') 判断控制台是否可用。如果控制台可用,则通过 console.clear() 清空控制台,并使用 console.info 方法输出自定义的提示信息。通过 setInterval 函数循环清空控制台,可以防范一些技术比较高的用户恶意查看网站代码。

4. 不要过分依赖js

要注意的是,以上的JavaScript代码都是在客户端运行的,如果用户禁用JavaScript,那么以上技术都将失效。因此,我们不能过分依赖JavaScript,对于一些敏感信息,还是需要在服务器端进行限制和保护。

示例说明

下面是两个示例,详细说明了如何使用以上技术来禁用F12审查和修改网页代码:

示例一

<html>
<head>
    <script>
        // 禁用F12审查
        document.onkeydown = function (event) {
            if (event.keyCode == 123) {
                alert('F12被禁用');
                return false;
            }
        }

        // 禁止页面右键功能
        document.oncontextmenu = function () {
            return false;
        }
    </script>
</head>
<body>
    <h1>禁用F12审查和页面右键功能示例</h1>
    <p>这是一个示例页面,演示如何禁用F12审查和页面右键功能。</p>
</body>
</html>

在以上示例中,通过在页面的 <head> 标签中加入 JavaScript 代码实现了禁用 F12 审查和页面右键功能的功能。

示例二

<html>
<head>
    <script>
        // 禁用控制台
        if (typeof console !== 'undefined') {
            console.clear();
            console.info('%c', 'padding:50px 100px; line-height:300px; background:url(https://i.loli.net/2021/06/14/Pt7iSHoQWZeznhb.png) no-repeat;');
            console.info('%c请不要在本站进行非法操作!', 'color:red; font-size: 20px; text-shadow:0px 3px 5px #FFF;');
            console.info('%c您的IP已被记录,请自觉遵守法律法规!', 'color:#333; font-size: 16px;');
            setInterval(function () {
                console.clear();
            }, 1000);
        }
    </script>
</head>
<body>
    <h1>禁用控制台示例</h1>
    <p>这是一个示例页面,演示如何禁用控制台。</p>
</body>
</html>

在以上示例中,通过在页面的 <head> 标签中加入 JavaScript 代码实现了禁用控制台的功能。在控制台中输出了一些自定义的信息,通过每秒钟执行一次 console.clear() 方法来清空控制台,防止用户恶意查看网站代码。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:js屏蔽F12审查元素,禁止修改页面代码等实现代码 - Python技术站

(0)
上一篇 2023年6月10日
下一篇 2023年6月10日

相关文章

  • jQuery的cookie插件实现保存用户登陆信息

    以下是详细讲解“jQuery的cookie插件实现保存用户登陆信息”的完整攻略: 1. 什么是jQuery的cookie插件 jQuery的cookie插件可以帮助我们方便地操作cookie(HTTP Cookies),从而实现在浏览器端存储和读取数据的功能。它基于jQuery,使用简单方便,是一个非常实用的插件。 2. 如何使用jQuery的cookie插…

    JavaScript 2023年6月11日
    00
  • Node.js下自定义错误类型详解

    Node.js下自定义错误类型详解 在Node.js应用程序开发中,抛出错误用于表明当前出现了错误或者出现了不符合预期的行为。Node.js提供了Error对象,可以用它来创建错误实例。但有时Error对象并不能满足我们的需求,我们需要更多的信息来携带错误数据。这时就需要自定义错误类型了。 创建自定义错误类型 继承原生Error Node.js规定,所有的J…

    JavaScript 2023年5月28日
    00
  • 微信小程序开发实用技巧之数据传递和存储

    下面就是关于微信小程序开发实用技巧之数据传递和存储的完整攻略。 数据传递 在小程序中,数据的传递通常需要经过多个页面或组件,因此在小程序中,数据传递是非常重要的。此处简单介绍两种数据传递方式: 通过URL传递数据 在小程序中,可以通过URL传递数据。具体做法是,使用小程序的内置API wx.navigateTo 或 wx.redirectTo 打开页面时,传…

    JavaScript 2023年6月11日
    00
  • js+css实现增加表单可用性之提示文字

    这里给出JS和CSS实现增加表单可用性之提示文字的完整攻略。 攻略详解 概述 表单是我们日常工作和生活中不可或缺的一部分,为了方便用户填写表单时可以更加清晰明了地知道每个输入框的作用,我们需要在表单中添加提示文字。在这里,我们可以通过JS和CSS的组合,为表单添加提示文字,并且在用户输入时自动隐藏。 实现步骤 首先,在HTML代码中为表单添加一个CSS类名,…

    JavaScript 2023年6月10日
    00
  • 把js文件编译成dll供页面调用的方法

    下面我会详细讲解如何把js文件编译成dll供页面调用的方法。步骤如下: 1. 安装webpack和webpack-dev-server 首先需要全局安装webpack和webpack-dev-server。运行以下命令: npm install webpack -g npm install webpack-dev-server -g 2. 创建webpack…

    JavaScript 2023年5月27日
    00
  • JavaScript获取一个范围内日期的方法

    获取一个范围内日期的方法在JavaScript中有多种实现方式。我将一一介绍它们的实现方法和步骤。 方法一:利用Date对象的setDate()和getDate()方法 这种方法可以获取指定开始日期和结束日期之间的所有日期,只需要一个循环即可完成。 步骤 将开始日期和结束日期转换为Date对象。 const startDate = new Date(‘202…

    JavaScript 2023年5月27日
    00
  • JS创建或填充任意长度数组的小技巧汇总

    我来为您详细讲解“JS创建或填充任意长度数组的小技巧汇总”的完整攻略。 标题 JS创建或填充任意长度数组的小技巧汇总 简介 数组(Array)是JavaScript中一个非常常用的数据类型,通过数组我们可以存储一组相关的数据,并且可以通过索引进行访问。但是,在实际编程中,我们经常会遇到一些需求,比如需要创建固定长度的数组或者需要填充任意长度的数组,这时就需要…

    JavaScript 2023年5月27日
    00
  • 浅谈javascript 函数表达式和函数声明的区别

    浅谈JavaScript函数表达式和函数声明的区别 函数表达式 函数表达式是将函数赋值给变量。它们可以被作为函数参数传递,也可以在执行完表达式后被调用。 函数表达式有以下特点: 函数名是可选的,可以赋值给一个变量。 函数表达式可以在代码的任意位置进行定义。 函数表达式必须要在定义后,才能调用。 下面是一个函数表达式的示例: var func = functi…

    JavaScript 2023年5月27日
    00
合作推广
合作推广
分享本页
返回顶部