You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何禁止PHP include()加载非.php文件?WordPress站点防护需求

多WordPress站点入侵后的临时加固方案(含include加载限制)

核心问题解答

可以限制include()/include_once()等函数仅加载.php后缀的文件,这是针对当前篡改场景的有效临时防护手段。

具体实现方法

1. 通过PHP钩子限制include文件后缀

创建一个全局前置脚本(比如/usr/local/php/secure-include.php),覆盖原生include类函数并校验文件后缀:

<?php
// 校验文件后缀的安全函数
function secure_validate_file($file) {
    $ext = pathinfo($file, PATHINFO_EXTENSION);
    if ($ext !== 'php') {
        error_log("Blocked include of non-PHP file: {$file}");
        die('Invalid file inclusion');
    }
    return true;
}

// 覆盖原生include函数
rename_function('include', 'original_include');
override_function('include', '$file', 'secure_validate_file($file); return original_include($file);');

// 同理覆盖其他包含函数
rename_function('include_once', 'original_include_once');
override_function('include_once', '$file', 'secure_validate_file($file); return original_include_once($file);');

rename_function('require', 'original_require');
override_function('require', '$file', 'secure_validate_file($file); return original_require($file);');

rename_function('require_once', 'original_require_once');
override_function('require_once', '$file', 'secure_validate_file($file); return original_require_once($file);');
?>

然后在php-fpm的站点池配置(或全局php.ini)中添加:

php_admin_value[auto_prepend_file] = /usr/local/php/secure-include.php

重启php-fpm生效。

2. 其他临时加固措施

考虑到服务器将在两周后更换,优先实施快速见效的防护:

  • 批量修复篡改文件:使用wp-cli批量验证并修复WordPress核心文件:
    wp core verify-checksums --all
    wp core update --force --all
    
  • 清理可疑插件/主题:禁用所有未使用的插件、主题,重新下载安装当前在用的插件/主题(避免已被篡改)。
  • 数据库权限收紧:给每个WordPress站点的数据库用户分配最小权限(仅SELECT/INSERT/UPDATE/DELETE,移除CREATE/DROP等高级权限)。
  • Nginx访问控制:添加规则拦截敏感文件访问:
    location ~* (wp-config\.php|\.htaccess|wp-content/uploads/.*\.php) {
        deny all;
        return 404;
    }
    
  • PHP权限限制:确保php-fpm运行用户仅拥有对应站点目录的读写权限,禁止跨目录访问。
  • 强化Fail2Ban规则:新增规则监控wp-login.php、xmlrpc.php等敏感路径的频繁访问,自动拉黑异常IP。

内容的提问来源于stack exchange,提问作者John

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.25 20:25:18