防止网站内容被小偷采集的js代码 原创

yizhihongxing

下面是防止网站内容被小偷采集的js代码的完整攻略,包含以下步骤:

步骤一:禁止右键菜单和文字选择

在网页中加入以下代码可以禁止鼠标右键菜单和文字选择:

<body oncontextmenu="return false" onselectstart="return false">

这样做可以有效防止普通用户使用鼠标右键复制网页内容或者选择文字后进行复制,但是并不能阻止采集程序直接获取到网页内容。

步骤二:使用 CSS 隐藏内容

在网页中加入以下 CSS,可以让部分内容在网页中不被显示,但是采集程序仍然能够获取到这些内容。这种方法只适用于需要保护的内容较少的情况:

.content {
    display: none;
}

步骤三:使用 JavaScript 动态生成内容

最终防止网站内容被小偷采集的方法是使用 JavaScript 动态生成内容,这样采集程序就很难获取到网页内容。以下是具体实施的步骤:

  1. 在 HTML 中定义一个空的容器:
<div id="content"></div>
  1. 使用 JavaScript 生成内容并加入容器中:
var content = '需要保护的内容';
document.getElementById('content').innerHTML = content;
  1. 在生成内容的同时,将内容中所有的文字字符分隔成单个字,再加入一个随机数,混淆文字字符的顺序。这样做可以防止采集程序使用正则表达式等方式获取内容。
var content = '需要保护的内容';
var arr = content.split('').sort(function(){return Math.random()-0.5});
var output = '';
for(var i=0; i<arr.length; i++) {
    output += arr[i];
}
document.getElementById('content').innerHTML = output;

这个方法可以让网站的内容更难被采集程序获取,但是也会增加网站的服务器负担和页面加载时间。因此需要根据具体情况来平衡安全与性能。

示例1:

假设你的网站有一些需要防止被采集的内容,比如一些付费内容。你可以先在 HTML 中定义一个容器:

<div id="protected-content"></div>

然后使用 JavaScript 动态生成内容并混淆文字的顺序:

var content = '这是需要保护的内容';
var arr = content.split('').sort(function(){return Math.random()-0.5});
var output = '';
for(var i=0; i<arr.length; i++) {
    output += arr[i];
}
document.getElementById('protected-content').innerHTML = output;

这样做可以让付费内容更难被采集程序获取。

示例2:

假设你的网站有一些需要保护的图片,可以使用下面的代码禁止右键菜单和保存图片:

<img src="img.png" oncontextmenu="return false" onmousedown="return false">

这样做可以防止普通用户保存图片,但是对于网页抓取程序仍然无法起到作用。如果需要进一步保护图片,可以使用 JavaScript 将图片转换成 Canvas,然后将 Canvas 导出成图片。这样做可以让图片更难被采集程序获取,但是也会增加网站的服务器负担。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:防止网站内容被小偷采集的js代码 原创 - Python技术站

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

相关文章

  • JS按字节截取字符长度实例

    下面我将为你详细讲解“JS按字节截取字符长度实例”的完整攻略。 核心思路 在JavaScript中按字节截取字符长度,需要用到TextEncoder和TextDecoder API。TextEncoder可以将字符串编码为Uint8Array类型的数据,TextDecoder可以将Uint8Array类型的数据解码为字符串。因此,我们可以通过将字符串按照一定…

    JavaScript 2023年5月28日
    00
  • js实现select组件的选择输入过滤代码

    下面我将详细讲解如何实现JS选择输入过滤组件的代码。 1. 需求分析 在编写组件代码之前,我们需要先分析需求,明确自己要实现一个怎样的组件。本次需求分析结果如下: 实现一个类似于<select>标签的输入组件 该组件支持输入过滤功能,可以根据用户所输入的值进行过滤 当用户输入完整的合法选项时,下拉框中会显示匹配该选项的选项值。 2. HTML 结…

    JavaScript 2023年6月11日
    00
  • 2种简单的js倒计时方式

    下面是“2种简单的js倒计时方式”的完整攻略,可以帮助网页作者快速实现倒计时功能。 1. 使用setInterval函数 原理 倒计时的原理基本上是每隔一段时间执行一次代码,去减小剩余的时间,并打印出更新后的倒计时。setInterval函数可以用来每隔指定的时间执行一段代码。 实现方法 首先,需要在html代码中定义一个显示倒计时的元素,例如: <p…

    JavaScript 2023年5月27日
    00
  • JS分层架构低代码跨iframe拖拽示例详解

    本文主要介绍了一种基于JavaScript分层架构,低代码实现跨iframe拖拽(drag and drop)的示例。以下是完整攻略: 概述 JS分层架构是一种标准化组织JavaScript代码的方式,将代码按照功能分为不同的层,如数据层、业务逻辑层和UI层。采用此方式可以提高代码的可维护性和可扩展性。 低代码是一种可以供非专业人员使用的开发方式,它减少了编…

    JavaScript 2023年6月11日
    00
  • 基于jquery的cookie的用法

    那么我们来一步步地讲解“基于jquery的cookie的用法”的完整攻略。 什么是cookie 在开始讲解基于jquery的cookie的用法之前,我们需要先了解一下什么是cookie。简言之,cookie是浏览器存储在用户计算机上的小文本文件,用于跟踪用户以及实现持久化状态。在web开发中,cookie被广泛用于存储用户的登录状态等信息。 利用jquery…

    JavaScript 2023年6月11日
    00
  • JavaScript实现的MD5算法完整实例

    JavaScript实现MD5算法完整实例攻略 简介 MD5是一种广泛使用的密码加密算法,它可以将任意长度的消息转换为128位的消息摘要。在实际开发过程中,我们需要使用MD5算法来保证密码等敏感信息的安全性。本文将讲解如何使用JavaScript实现MD5算法。 步骤 引入MD5库 我们可以在网上找到许多JavaScript实现MD5算法的库,如SparkM…

    JavaScript 2023年5月19日
    00
  • 浅谈js闭包理解

    浅谈JS闭包理解 什么是闭包 在Javascript中,闭包是可以访问外部函数作用域内变量的函数。通俗的讲,闭包就是将函数内的变量保存起来,以便在后续的函数中使用的一种机制。 闭包的定义 闭包由两部分组成:函数(或者函数表达式)和一个保存该函数作用域的对象。 例如: function outerFunction() { let outerVar = 5; f…

    JavaScript 2023年6月10日
    00
  • 浅谈jQuery异步对象(XMLHttpRequest)

    浅谈jQuery异步对象(XMLHttpRequest) 异步对象简介 XMLHttpRequest对象是JavaScript中进行HTTP通信的核心技术之一。它使得web应用程序可以通过JavaScript进行异步HTTP通信,从而在页面不刷新的情况下实现动态更新。jQuery在此基础上封装了自己的异步对象,使得开发者可以更加便捷地使用它来进行AJAX操作…

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