非 php.net · 非 NVD · 非 CISA

PHP 漏洞追踪

关于 PHP 安全漏洞的非官方简报

English简体中文日本語DeutschFrançaisNederlandsEspañol

安全警报

PHP2Shell:请升级 PHP。这是唯一完整的修复。

CVE-2026-109618 与 CVE-2026-109619 是 PHP 本体中的严重漏洞,未经身份验证即可远程执行代码。PHP 项目已于 2026 年 10 月 21 日为仍受支持的 8.2 至 8.5 分支发布修复。升级后必须重启 PHP。防火墙不能替代升级。

修复步骤

PHP 安全科普 · 防御向

PHP 中的 XSS:是什么,怎么防

跨站脚本至今仍是最常见的 Web 漏洞之一。在 PHP 里,问题通常出在把数据输出到 HTML 时没有按所在位置转义。

最近更新

这是什么

反射型 XSS 直接回显当前请求里的值;存储型 XSS 把它保存下来(比如评论),再展示给所有人;DOM 型 XSS 发生在前端 JavaScript 里。无论哪种,浏览器都会以你网站的权限运行脚本,可能窃取会话或冒充用户操作。MITRE 把它归为 CWE-79。

怎么发现

怎么修

只读检查与安全写法

# Find raw echo of request data (read-only, rough first pass)
grep -rnE "echo\s+\$_(GET|POST|REQUEST|COOKIE)" --include=*.php . | grep -v /vendor/

// Escape on output, for the HTML context
echo htmlspecialchars($name, ENT_QUOTES | ENT_SUBSTITUTE | ENT_HTML5, 'UTF-8');

# Defense in depth: a Content-Security-Policy header (example)
Content-Security-Policy: default-src 'self'; object-src 'none'; base-uri 'self'

在输入时去掉标签不就行了?

过滤输入有帮助,但真正可靠防住 XSS 的是输出时按上下文转义。OWASP 建议优先做输出编码。

strip_tags() 能防 XSS 吗?

不可靠。它处理不了属性和 JavaScript 上下文,也容易用错,请用按上下文的转义。

其他常见 PHP 漏洞类型

来源

出站链接将离开本站。本站不托管利用代码。

  1. CWE-79: Cross-site Scripting — MITRE CWE
  2. Cross Site Scripting Prevention Cheat Sheet — OWASP Cheat Sheet Series
  3. htmlspecialchars() — PHP Manual