当前位置: 首页> 最新文章列表> 使用 phpinfo() 检查 PHP 安全设置

使用 phpinfo() 检查 PHP 安全设置

gitbox 2025-05-29

在 PHP 开发和运维过程中,确保 PHP 环境的安全配置是极其重要的一环。phpinfo() 函数是 PHP 自带的一个强大工具,它能够详细展示当前 PHP 环境的所有配置信息,包括版本、编译选项、扩展模块、环境变量、PHP 变量以及 HTTP 头信息等。通过查看 phpinfo() 输出的内容,可以帮助我们快速检查 PHP 的安全设置是否合理和完善。

1. 通过 phpinfo() 查看 PHP 配置

在你的服务器或本地环境中,新建一个 PHP 文件,比如 info.php,内容如下:

<?php
phpinfo();
?>

然后在浏览器中访问:

http://gitbox.net/info.php

你将看到一个详细的配置页面,里面列出了 PHP 运行时的所有信息。

2. 重点检查的安全配置项

display_errors

这个选项控制错误信息是否直接显示在页面上。生产环境应关闭,防止泄露服务器路径和代码信息。

display_errors => Off

expose_php

如果开启,会在 HTTP 头部暴露 PHP 版本信息,容易被攻击者利用。应关闭。

expose_php => Off

register_globals

历史遗留配置,开启后会自动将 GET/POST/Cookie 变量注册为全局变量,容易引起安全问题,应关闭。

register_globals => Off

allow_url_fopen 和 allow_url_include

这两个配置涉及到是否允许通过 URL 访问文件和包含远程文件。生产环境通常关闭以防止远程代码执行攻击。

allow_url_fopen => Off
allow_url_include => Off

open_basedir

限制 PHP 脚本只能访问指定目录,防止文件系统被非法访问。

open_basedir => /var/www/html/

session.cookie_httponly

启用后,客户端脚本无法通过 JavaScript 访问 Cookie,增强防护。

session.cookie_httponly => On

3. 使用 phpinfo() 辅助安全审计

通过 phpinfo() 输出的内容,你可以:

  • 确认 PHP 版本是否为最新稳定版本,防止已知漏洞利用。

  • 检查是否加载了不安全的扩展或模块。

  • 查看环境变量中是否暴露敏感信息。

  • 结合服务器配置,验证 PHP 的文件访问限制。

4. 小结

phpinfo() 是快速检查 PHP 环境信息的利器,也是安全审计的第一步。虽然 phpinfo() 本身不具备安全功能,但通过它获得的信息能帮助我们及时发现配置中的安全隐患,避免被黑客利用。务必不要将包含 phpinfo() 的页面放置在公网环境,或确保访问权限严格控制。