跳转到内容

Web 安全防护实战

发布时间:2025年8月20日

OWASP Top 10 是 Web 应用安全领域最具权威性的漏洞排名。

永远不要直接拼接 SQL 语句,应使用参数化查询:

# 不安全的做法
query = f"SELECT * FROM users WHERE id = {user_input}"
# 安全的做法
query = "SELECT * FROM users WHERE id = ?"
cursor.execute(query, (user_input,))

对用户输入进行输出编码:

// 使用 DOMPurify 清洗 HTML
import DOMPurify from "dompurify";
const safeHtml = DOMPurify.sanitize(userInput);
  • 使用 CSRF Token
  • 验证 Referer 头
  • SameSite Cookie 属性
  • 使用 bcrypt/argon2 哈希存储
  • 强制使用复杂密码
  • 实施多因素认证
  • 设置合理的过期时间
  • 使用 HTTPS 传输
  • 不要在 payload 中存放敏感信息
server {
listen 443 ssl;
ssl_certificate /path/to/cert.pem;
ssl_certificate_key /path/to/key.pem;
ssl_protocols TLSv1.2 TLSv1.3;
}