用途:为 PHP 项目提供安全编码标准,重点覆盖数据库访问、密码处理与输入校验,帮助防范 SQL 注入、XSS 等常见风险。优先级标注为 P0(关键)。
主要能力:要求使用 PDO 参数化查询,禁止把用户输入拼接进 SQL;密码必须用 password_hash() 配合 PASSWORD_ARGON2ID(PHP 7.4+)或 PASSWORD_BCRYPT,并用 password_verify() 校验、password_needs_rehash() 升级旧哈希,建议配合限流与 MFA;输出统一转义,使用 htmlentities($userInput, ENT_QUOTES | ENT_HTML5, 'UTF-8') 或 htmlspecialchars(),优先采用 Twig 或 Blade 的自动转义;所有改变状态的请求(POST、PUT、PATCH、DELETE)强制 CSRF 令牌;输入用 filter_var() 校验邮箱与 URL,并采用白名单;文件上传按 MIME 类型与扩展名限制,存放于公共根目录之外;会话设置 session.cookie_httponly = 1、session.cookie_secure = 1、session.samesite = "Lax";响应头启用 CSP、X-Frame-Options: DENY、X-Content-Type-Options: nosniff。
结构建议:代码可组织在 src/Security/ 下,含 Validators/ 与 Auth/ 子目录。
反模式:禁止 SQL 字符串拼接;禁止用 MD5/SHA1 存密码;禁止直接使用原始 $_GET/$_POST;生产环境不得显示错误,应写入日志。
限制:资料未提供安装命令、依赖版本、平台支持范围、收费方式与具体使用步骤,这些信息暂未提供。