禁止WordPress目录枚举提升网站安全性

目录枚举漏洞:这是一种常见的安全漏洞,攻击者能借此枚举服务器上的目录或文件结构,进而获取敏感信息,识别潜在弱点,或利用已知漏洞展开攻击。

案例:最近遇到一个问题,用户对企业网站建设要求极为严格,比如登录页面不允许外网访问,注册登录不允许有错误提示,用户首次登录强制要求修改密码等。而 WordPress 本身并无相关设置,只能通过配置 Nginx、修改程序文件以及添加强化代码来实现。此外,还存在一个情况,在域名后面随意添加一个字母,会自动跳转到相近的页面。例如输入“https://xxxxx/i”会跳转到“https://xxxxx/intro”。这并非真正意义上的漏洞,而是 WordPress 通过 redirect_canonical 过滤器实现的功能,该过滤器用于控制 WordPress 对内容的重定向行为。WordPress 会根据请求的 URL 判断是否需要重定向到规范 URL,以避免搜索引擎索引重复内容。解决办法:可以在主题中添加相关代码或修改服务器配置文件,以此禁止 WordPress 目录枚举。

在主题中添加禁止目录枚举代码

将下面代码添加到当前主题函数模板functions.php中:

add_filter( 'redirect_canonical', 'prevent_directory_enum_redirect', 10, 2 );
function prevent_directory_enum_redirect( $redirect_url, $requested_url ) {
	return $requested_url;
}

修改服务器配置禁止目录枚举

在Apache的配置文件httpd.conf中添加:

<Directory "/path/to/your/wordpress/root">
    Options -Indexes
</Directory>

/path/to/your/wordpress/root需要替换为你实际的WordPress网站根目录路径在Nginx的配置文件nginx.conf中添加:

location / {
    autoindex off;
}

本文转自知更鸟进行部分优化

© 版权声明
THE END
喜欢就支持一下吧!
点赞899赞赏 分享