PHP探针页面需屏蔽搜索引擎,因其暴露PHP版本、扩展、配置等敏感信息,易被攻击者通过site语法批量发现;应结合robots.txt禁止爬虫、IP白名单校验及Web服务器层精准拦截,并及时清理备份文件。

PHP探针页面为什么需要屏蔽搜索引擎
因为探针(如 phpinfo.php、server.php 等)会暴露服务器环境细节:PHP 版本、扩展列表、disable_functions、open_basedir、真实路径、数据库配置痕迹等。搜索引擎缓存后,攻击者可通过 site:example.com "phpinfo()" 一键发现并利用。
用 robots.txt 禁止爬虫访问是最基础且必须的一步
仅靠 robots.txt 不能阻止恶意请求,但能过滤掉绝大多数合规爬虫(Google、Bing、百度等)。它简单、零性能开销,且是行业通用做法。
- 确保探针文件不在网站根目录,比如放在
/admin/tools/phpinfo.php,然后在根目录robots.txt中添加:User-agent: * Disallow: /admin/tools/
- 若探针叫
status.php且放在根目录,写成:User-agent: * Disallow: /status.php
- 注意:路径区分大小写;
Disallow: /phpinfo会同时屏蔽/phpinfo.php和/phpinfo/,需按实际路径精确控制
用 PHP 自身逻辑做访问拦截更可靠
robots.txt 可被绕过,真正有效的防护得靠服务端判断。常见做法是结合 IP 白名单 + HTTP 头校验,而不是单纯依赖 User-Agent。
- 不要用
$_SERVER['HTTP_USER_AGENT']判断是否为“搜索引擎”,UA 可伪造,且部分探针本身会被监控工具调用(如 Zabbix 的 HTTP 检查),误杀风险高 - 推荐方式:只允许特定内网或运维 IP 访问,例如:
- 如果必须用域名或 Referer 控制(如仅限后台登录后跳转访问),可用
$_SERVER['HTTP_REFERER']配合 session 校验,但注意 Referer 也可被删减或伪造,不能单独依赖
Web 服务器层直接拒绝请求最彻底
比 PHP 脚本拦截更早、更省资源,适合已知固定路径的探针文件。Nginx 和 Apache 都支持基于 location 或文件名的精准屏蔽。
Angel工作室企业网站管理系统全DIV+CSS模板,中英文显示,防注入sql关键字过滤,多浏览器适应,完美兼容IE6-IE8,火狐,谷歌等符合标准的浏览器,模板样式集中在一个CSS样式中,内容与样式完全分离,方便网站设计人员开发模板与管理。系统较为安全,以设计防注入,敏感字符屏蔽。新闻,产品,单页独立关键字设计,提高搜索引擎收录。内置IIS测试,双击打启动预览网站 Angel工作室企业网站
立即学习“PHP免费学习笔记(深入)”;
- Nginx 示例(在 server 块中):
location ~* ^/(phpinfo|info|status|probe|server)\.php$ { deny all; # 或返回 404 更隐蔽:return 404; } - Apache(.htaccess 或 vhost):
Require denied - 注意:正则匹配要加锚点
^和$,避免误伤myphpinfo_backup.php这类文件名;线上环境建议把探针统一放在非公开目录(如/var/www/private-tools/),并通过 Web 服务器禁止该目录的 HTTP 访问
探针文件从来不是“放着不用就安全”,只要 URL 可达,就存在被扫描、被缓存、被利用的风险。白名单 IP + Web 服务器层拦截 + robots.txt 三者缺一不可,而其中最容易被忽略的是:没删掉测试时随手传上去的 backup 文件(如 phpinfo.php.bak、info.php~),它们往往不被 robots.txt 覆盖,也不走主逻辑判断,却一样输出敏感信息。










