JS代码屏蔽F12,右键,粘贴,复制,剪切,选中,操作实例

JS代码屏蔽F12、右键、粘贴、复制、剪切、选中等操作,是一种常见的前端安全措施,可以避免恶意用户通过浏览器的开发工具获取网页的源代码和敏感信息。在下面的回答中,我将提供一些实现JS的屏蔽操作的方法和示例代码,并进行一些解释说明。

1.屏蔽F12和右键操作

通过下面的JS代码可以屏蔽F12和右键操作:

document.onkeydown = function(e) {
     if(e.keyCode == 123) {
        return false;
     }
     if(e.ctrlKey && e.shiftKey && e.keyCode == 'I'.charCodeAt(0)){
        return false;
     }
     if(e.ctrlKey && e.shiftKey && e.keyCode == 'J'.charCodeAt(0)){
        return false;
     }
     if(e.ctrlKey && e.keyCode == 'U'.charCodeAt(0)){
        return false;
     }
}

document.oncontextmenu = function(e){
    e.preventDefault();
}

上面的代码中,我们在document对象上定义了两个事件处理函数:onkeydownoncontextmenuonkeydown用于捕捉键盘按键事件,当用户按下键盘上的F12键或者Ctrl+Shift+ICtrl+Shift+J键时,返回false,即不执行默认动作,从而屏蔽了浏览器的开发工具;oncontextmenu用于阻止鼠标右键的默认行为,即展现出右键菜单,也可以有效避免用户通过鼠标右键获取网页的源代码。

2.屏蔽复制、粘贴、剪切和选中操作

通过下面的JS代码可以屏蔽复制、粘贴、剪切和选中操作:

$(document).on("cut copy paste",function(e){
    e.preventDefault();
});
$(document).on("selectstart",function(e){
    e.preventDefault();
});

上面的代码中,我们使用jQuery库来捕获浏览器的“剪切”、“复制”、“粘贴”操作和“选中”事件,并在事件处理函数中调用preventDefault()方法来阻止浏览器执行默认操作,从而达到屏蔽效果。

需要注意的是,在实际开发过程中,我们应该尽可能地避免对用户进行过多的限制,这些JS代码的屏蔽行为可能会影响用户体验,一旦被发现,也可能会影响网站的信誉和口碑。因此,我们需要合理使用这些前端安全措施,避免对用户造成太大的困扰。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:JS代码屏蔽F12,右键,粘贴,复制,剪切,选中,操作实例 - Python技术站

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

相关文章

  • 一文轻松了解Python中类的继承

    一文轻松了解Python中类的继承 在 Python 中,我们可以通过类的继承机制来创建一个新的类,它会自动继承父类的属性和方法,同时可以添加一些新的属性和方法来扩充其功能。本文将会深入探讨 Python 中类的继承,包括如何继承以及如何调用父类的方法和属性等知识点。 如何实现类的继承 在 Python 中,我们可以通过在子类声明时,将父类作为参数传递来实现…

    other 2023年6月27日
    00
  • Mysql的longblob字段插入数据问题解决

    下面是“Mysql的longblob字段插入数据问题解决”的完整攻略。 问题描述 当往Mysql的longblob字段中插入大量数据时,可能会遇到以下问题:- 数据无法成功插入,出现错误提示,如:Error 2013: Lost connection to MySQL server during query。- 数据插入成功,但是读取时出现乱码或者数据截断等…

    other 2023年6月25日
    00
  • access窗体页眉节区怎么添加一个标签控件?

    添加标签控件到Access窗体页眉节区的步骤如下所示: 首先,在Access表单设计器中打开你想要添加标签控件的表单。 接着,转到表单设计器的设计模式,并确保“页眉”选项卡处于激活状态。 在“工具箱”中找到标签控件,然后将其拖拽到页眉节区中。你可以将标签控件放置在其他控件之上或下方。如果需要设置标签控件的宽度或高度,可以选中标签控件,然后拖动它的调整手柄。 …

    other 2023年6月27日
    00
  • Java类加载器ClassLoader的使用详解

    Java类加载器ClassLoader的使用详解 类加载器ClassLoader是Java虚拟机(JVM)中至关重要的一部分,它负责将字节码文件加载到JVM中并创建相应的Java对象。本文将详细介绍ClassLoader的使用方法。 什么是ClassLoader ClassLoader是Java中的一个内置类,负责将类文件(.class文件)装载到内存中,并…

    other 2023年6月25日
    00
  • 服务器重启不能启动的几种常见的解决方法

    如果服务器无法启动或者出现故障,我们需要采取一些措施来修复它。本文将介绍一些服务器重启不能启动的常见原因以及解决方法。 1. 网络故障 首先,要检查网络连接是否正常,因为网络连接是服务器正常运行的基础。检查电缆、交换机和路由器是否连接正常,保证网络连接正常后,我们可以尝试使用ping命令检查网络状态。 ping www.example.com 如果我们能够接…

    other 2023年6月26日
    00
  • 为什么鼠标被禁用了?网页鼠标右键被禁用解决方法

    为什么鼠标被禁用了?网页鼠标右键被禁用解决方法 问题描述 在一些网页上,我们可能会发现鼠标右键被禁用了。这一般是由网页开发者通过JavaScript代码实现的。但是,有时候我们确实需要使用鼠标右键进行一些操作,这时候该怎么办呢? 解决方法 我们可以通过以下几种方法来解决鼠标右键被禁用的问题: 方法一:使用快捷键 如果你需要复制或粘贴文本,可以使用快捷键来实现…

    other 2023年6月27日
    00
  • 使用Portainer部署Docker容器的项目实践

    使用Portainer部署Docker容器的项目实践攻略 1. 简介 Portainer是一个易于使用的Docker管理用户界面,可轻松管理Docker实例,容器,图像,卷和网络等资源。在本文中,我们将探讨如何使用Portainer将您的Docker容器部署到生产环境中。 2. 安装Portainer 为了使用Portainer,我们需要安装它。您可以通过以…

    other 2023年6月20日
    00
  • 用递归查找有序二维数组的方法详解

    用递归查找有序二维数组的方法详解 有序二维数组中的元素按一定规律有序排列,可以利用数组的有序性加速查找的速度。本文将详细讲解用递归查找有序二维数组的方法,并给出两条示例说明。 思路 二维数组可以看作是一个矩阵,有行和列两个维度。我们可以从矩阵的左下角或右上角开始,根据当前位置的值与目标值的大小关系来确定查找的方向,以此递归查找。 具体来说,从矩阵的左下角开始…

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