参考资料

  1. HTML 书签属性格式化
  2. HTML 颜色采用的是 RGB 颜色
  3. HTML 外部样式
  4. HTML 多媒体
  5. HTML 用于联系信息的
  6. 禁用开发者工具的方法与示例
  7. HTML 引文、引用和定义元素
  8. http-equiv="expires" 模拟 HTTP 头部中的 Expires 字段

网页防采集有哪几种方式

  1. User-Agent检测

  • 原理:检查请求头中的User-Agent是否合法

  • 代码示例(PHP):

if (!strpos($_SERVER['HTTP_USER_AGENT'], 'Mozilla')) {
    header('HTTP/1.1 403 Forbidden');
    exit;
}
  1. IP频率限制

  • 原理:限制单个IP的访问频率

  • 代码示例(Python Flask):

from flask import Flask, request
from flask_limiter import Limiter

app = Flask(__name__)
limiter = Limiter(app, key_func=lambda: request.remote_addr)

@app.route('/')
@limiter.limit("10 per minute")
def index():
    return "Hello World"
  1. 验证码验证

  • 原理:要求用户输入验证码

  • 代码示例(HTML+PHP):

<!-- HTML表单 -->
<form action="submit.php" method="post">
    <img src="captcha.php">
    <input type="text" name="captcha">
</form>
// captcha.php
session_start();
$code = rand(1000,9999);
$_SESSION['captcha'] = $code;
// 生成图片代码...
  1. 动态加载数据

  • 原理:通过AJAX动态加载内容

  • 代码示例(JavaScript):

window.onload = function() {
    fetch('/api/data').then(response => {
        document.getElementById('content').innerHTML = response;
    });
}
  1. 蜜罐技术

  • 原理:设置隐藏的陷阱链接

  • 代码示例(HTML):

<a href="/anti-spider" style="display:none"></a>
  1. Cookie检测

  • 原理:检查客户端是否支持Cookie

  • 代码示例(JavaScript):

if(!navigator.cookieEnabled) {
    window.location = '/blocked';
}
  1. 行为分析

  • 原理:检测异常浏览行为

  • 代码示例(JavaScript):

let lastClickTime = 0;
document.addEventListener('click', function(e) {
    const now = Date.now();
    if (now - lastClickTime < 100) { // 100ms内连续点击
        reportBot();
    }
    lastClickTime = now;
});
  1. Token验证

  • 原理:每次请求需要携带动态Token

  • 代码示例(PHP):

session_start();
if ($_POST['token'] !== $_SESSION['token']) {
    die('Invalid token');
}