阻止用户访问主题文件夹中的模板文件

问题描述 投票:0回答:1

我们一直遇到一个问题,黑客试图通过在目录树中导航来找到文件来“破坏”文件。例如,他们会尝试导航到domain.com/wp-content/theme/theme-name/page-custom-page.php,然后当页面尝试加载或卸载主题的功能时导致 500 错误。

我们的解决方案是将以下内容添加到模板的开头:

$current_url = $_SERVER['REQUEST_URI'];
$template_file_path = __FILE__;
if (strpos($current_url, '/' . basename($template_file_path)) !== false) {
    http_response_code(403);
    echo "<h1>403 Forbidden - Access Denied</h1>"; 
exit();
}

起初,我们在 Cloudflare 上禁止 IP,但这导致出现一长串被禁止的一次性 IP。我们还尝试使用 .htaccess 阻止目录被浏览。

现在我们需要阻止该方法。此问题仅存在于自定义页面模板,并且目录树似乎受到了尽可能的保护,并且代码块似乎正在工作。

我的问题是“有更好的方法吗?”

wordpress security templates
1个回答
0
投票

阻止直接访问的常见方法是使用下面的代码。

defined('WPINC') || exit;

这是许多大型插件中常见的一句台词。它的作用基本上是查看常量 WPINC(内置 WordPress 常量)是否已定义,否则退出

© www.soinside.com 2019 - 2024. All rights reserved.