PHP探针怎样屏蔽搜索引擎_PHP探针屏蔽搜索引擎方式【操作】

12次阅读

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

PHP探针怎样屏蔽搜索引擎_PHP探针屏蔽搜索引擎方式【操作】

PHP探针页面为什么需要屏蔽搜索引擎

因为探针(如 phpinfo.phpserver.php 等)会暴露服务器环境细节:PHP 版本、扩展列表、disable_functionsopen_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 脚本拦截更早、更省资源,适合已知固定路径的探针文件。nginxapache 都支持基于 location 或文件名的精准屏蔽。

立即学习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.bakinfo.php~),它们往往不被 robots.txt 覆盖,也不走主逻辑判断,却一样输出敏感信息。

text=ZqhQzanResources