PHP 怎么PHP Security Advisories

wen PHP项目 3

本文目录导读:

PHP 怎么PHP Security Advisories

  1. 官方安全公告 (PHP.net)
  2. 使用 Composer 管理依赖安全
  3. 社区安全公告
  4. 安全扫描工具
  5. 自动提醒与 CI/CD 集成
  6. PHP 版本升级安全策略
  7. 手动检查常见漏洞

PHP Security Advisories 是 PHP 官方或社区提供的安全公告,用于通知 PHP 版本中的安全漏洞、受影响版本及修复建议,要获取和应对这些安全公告,你可以参考以下方法:


官方安全公告 (PHP.net)

  • 访问地址
    https://www.php.net/security/

  • 列出所有已知的安全漏洞(CVE),包括漏洞描述、影响版本、修复版本和补丁链接。
  • 使用方式
    定期检查该页面,或订阅其 RSS/Atom 源(页面底部有链接)以获取更新。

使用 Composer 管理依赖安全

  • 工具
    Roave Security Advisories

  • 安装

    composer require roave/security-advisories:dev-master
  • 作用
    自动阻止安装有已知漏洞的 Composer 包(如 Laravel、Symfony 等)。
    它会将已知漏洞的版本标记为“冲突”,阻止 composer installupdate

  • 更新
    定期运行 composer update roave/security-advisories 获取最新安全数据。


社区安全公告

  • FriendsOfPHP/security-advisories
    GitHub 仓库
    包含 PHP 生态(框架、库)的已知漏洞数据库,常用于 CI/CD 扫描。
  • 本地化检查工具
    配合 Local PHP Security Checker 使用(见下文)。

安全扫描工具

  • Local PHP Security Checker (SensioLabs)

    # 下载二进制文件(无需安装 PHP)
    curl -L https://github.com/fabpot/local-php-security-checker/releases/latest/download/local-php-security-checker_linux_amd64 -o php-security-checker
    chmod +x php-security-checker
    ./php-security-checker --path=/path/to/project

    功能
    扫描 composer.lock 中的依赖,对比已知漏洞数据库(基于 FriendsOfPHP 的数据)。

  • 在线扫描
    使用 PHP Security Checker(Symfony 官方),上传 composer.lock 文件即可检查。


自动提醒与 CI/CD 集成

  • GitHub Dependabot
    在 GitHub 仓库启用 Dependabot,自动检测并提醒依赖中的安全漏洞。
  • GitLab Security Dashboard
    GitLab 内置的依赖扫描功能(需配置 composer.lock)。
  • Jenkins/CI 插件
    集成 local-php-security-checker 到 CI 流水线,阻止构建部署有漏洞的代码。

PHP 版本升级安全策略

  • 始终使用 受支持的 PHP 版本(如 8.1、8.2、8.3),避免使用已停止安全支持的版本(如 PHP 7.4 以下)。
  • 查看 PHP 版本支持时间表

手动检查常见漏洞

  • 常见风险
    • 未过滤输入导致的 SQL注入XSS文件包含
    • 使用过时的 mysql_* 函数(应改用 PDO 或 MySQLi)
    • 不安全的 unserialize() 调用
  • 防护
    参考 OWASP PHP 安全指南

方法 适用场景 工具/链接
官方公告 获取 PHP 核心漏洞 https://www.php.net/security/
Composer 依赖扫描 项目安全 roave/security-advisories
本地或 CI 扫描 自动化安全检测 local-php-security-checker
在线扫描 快速检查 https://security.symfony.com/

最佳实践

  1. roave/security-advisories 加入 composer.jsonrequire-dev
  2. 在 CI 流水线中运行 local-php-security-checker
  3. 订阅 PHP 安全公告 RSS 或邮件列表(https://www.php.net/mailing-lists.php)。
  4. 每周至少更新一次依赖(composer update)。

抱歉,评论功能暂时关闭!