参考资料

  1. waf防火墙和web防火墙区别
  2. DDoS攻击类型与方式
  3. DDoS攻击的防御工具与平
  4. Web应用防火墙(WAF)防篡改功能
  5. CSRF跨站请求伪造是一种网络攻击方式
  6. 阻止恶意HTTP/HTTPS流量来保护网站安全
  7. 用于保护Web应用程序安全的防火墙
  8. 如何识别不同类型DDoS攻击

CSRF防护

简介:
CSRF(Cross-Site Request Forgery)跨站请求伪造是一种网络攻击方式,攻击者诱导用户在当前已登录的Web应用上执行非本意的操作。CSRF防护旨在防止此类攻击。

功能说明:

  1. 验证请求来源

  2. 检查Referer头

  3. 使用CSRF Token

  4. 设置SameSite Cookie属性

  5. 验证自定义HTTP头

操作示例(以CSRF Token为例):

  1. 服务端生成Token:

// 生成随机Token
$csrfToken = bin2hex(random_bytes(32));
$_SESSION['csrf_token'] = $csrfToken;
  1. 表单中包含Token:

<form action="/process" method="POST">
    <input type="hidden" name="csrf_token" value="<?php echo $csrfToken; ?>">
    <!-- 其他表单字段 -->
    <input type="submit" value="提交">
</form>
  1. 服务端验证Token:

if ($_POST['csrf_token'] !== $_SESSION['csrf_token']) {
    // Token不匹配,拒绝请求
    die("CSRF验证失败");
}
// 继续处理请求
  1. AJAX请求示例:

// 从meta标签获取Token
const token = document.querySelector('meta[name="csrf-token"]').content;

fetch('/api/endpoint', {
    method: 'POST',
    headers: {
        'X-CSRF-TOKEN': token,
        'Content-Type': 'application/json'
    },
    body: JSON.stringify({data: 'example'})
});