直接暴露phpinfo()页面等于将服务器“体检报告”贴在门口,会泄露php版本、扩展、环境变量、配置路径等攻击线索;应删除相关文件、web服务器拦截请求、加ip或密钥访问控制、输出缓冲过滤敏感字段,并通过disable_functions禁用函数及expose_php=off隐藏版本头。

直接暴露 phpinfo() 页面等于把服务器的“体检报告”贴在门口。它会显示 PHP 版本、已加载扩展、$_SERVER 环境变量、配置路径(如 DOCUMENT_ROOT)、数据库相关模块版本等——这些全是攻击者构造漏洞的线索。隐藏不是“让它看不见”,而是不让敏感内容生成或传递出去。
删文件 + 拦请求:最彻底的防线
生产环境不该存在 `phpinfo.php` 这类文件。
- 用 SSH 或 FTP 全站搜索:
phpinfo.php、info.php、test.php、debug.php,确认无业务依赖后直接删除 - Apache 下,在 `.htaccess` 或虚拟主机配置中加:
<files><br> Require all denied<br></files>
- Nginx 下,在 server 块中加:
location ~* ^/(phpinfo|info|test|debug)\.php$ {<br> return 403;<br>}
加访问控制:只给可信人看
如果调试必须保留,就锁住入口。
- 只允许本地访问:
if ($_SERVER['REMOTE_ADDR'] !== '127.0.0.1' && $_SERVER['REMOTE_ADDR'] !== '::1') die('Access denied'); - 或加密钥验证:
if (!isset($_GET['key']) || $_GET['key'] !== 'aB3xK9') die('Unauthorized');,访问时带?key=aB3xK9 - 避免硬编码密钥,可从环境变量读取:
getenv('PHPINFO_KEY')
过滤输出:保留功能但削掉敏感字段
适用于不能删文件的探针类工具(如雅黑探针),核心是捕获再清洗。
- 用
ob_start()捕获输出,再正则剔除关键行:ob_start();<br>phpinfo();<br>$html = ob_get_clean();<br>$html = preg_replace('/<tr>.*?DOCUMENT_ROOT.*?/i', '', $html);<br>$html = preg_replace('/</tr><tr>.*?SCRIPT_FILENAME.*?/i', '', $html);<br>$html = preg_replace('/</tr><tr>.*?SERVER_ADDR.*?/i', '', $html);<br>$html = preg_replace('/</tr><tr>.*?HTTP_HOST.*?/i', '', $html);<br>echo $html;<li>重点过滤:<code>DOCUMENT_ROOT</code>、<code>SCRIPT_FILENAME</code>、<code>SERVER_ADDR</code>、<code>HTTP_HOST</code>、<code>PATH_TRANSLATED</code> </li> <li>别碰 <code>PHP Version</code> 或 <code>Loaded Extensions</code>——探针靠它们判断环境</li> <h3>关掉源头:禁用函数 + 隐藏版本头</h3> <p>釜底抽薪,让 `phpinfo()` 根本调不动。</p> <ul> <li>在 <code>php.ini</code> 中加入:<code>disable_functions = phpinfo</code>,重启 PHP 服务生效</li> <li>同时设:<code>expose_php = Off</code>,防止响应头泄露 <code>X-Powered-By: PHP/8.3.5</code> </li> <li>Apache 加:<code>ServerTokens Prod</code> 和 <code>ServerSignature Off</code> </li> <li>Nginx 加:<code>server_tokens off;</code> </li> <li>再用 <code>curl -I yoursite.com</code> 检查响应头,确认没有 <code>X-Powered-By</code> 和冗余 Server 字段</li> </ul> </tr>
php免费学习视频:立即使用
踏上前端学习之旅,开启通往精通之路!从前端基础到项目实战,循序渐进,一步一个脚印,迈向巅峰!











