我在服务器上运行 WordPress,一切运行正常。但是,每天 1-2 次,我的 Syslog 中都会出现以下警告:
Dec 26 04:48:35 my_hostname mariadbd[895]: 2024-12-26 4:48:35 12606 [Warning] Access denied for user 'username_here'@'localhost' (using password: YES)
username_here
现在,我用SilverSearcher搜索了整个服务器,发现整个服务器上唯一使用 的位置是在 内,和这里的wp-config-sample.php
原始 一模一样。我将那里的用户名修改为,下面的日志如下所示,确认此文件是源。username_here_example
Dec 26 21:24:13 my_hostname mariadbd[895]: 2024-12-26 21:24:13 19868 [Warning] Access denied for user 'username_here_example'@'localhost' (using password: YES)
但是,据我所知,WordPress 永远不应该使用这些凭据进行连接,因为这只是默认配置。据我所知,WordPress 通常使用凭据来wp-config.php
连接数据库,网站运行正常,WordPress 数据库看起来也不错。
有什么提示可以说明是什么原因导致了这种行为?
尝试:
查看其他文件(配置文件?crontab?脚本?)是否引用该文件来执行某些操作,而不是引用正确的 wp-config 文件?
另一种(不太可能但仍然存在)可能性:是否有人试图通过以某种方式启动用作
wp-condif-sample.php
凭证源的命令来侵入您的盒子?首先,我建议按照Oliver Dulac的描述执行适当的搜索,因为你的情况可能与我不同。就我的情况而言,事实证明警告与对所述示例配置的 GET 请求一致(按时间戳):
现在,文件最后
wp-config-sample.php
包含( ),它使用默认凭据测试数据库连接(如果我理解正确的话,但不保证),这显然不起作用并生成系统日志警告。wp-settings.php
require_once ABSPATH . 'wp-settings.php';
require_wp_db();
为了消除警告,我简单地拒绝了对
.htaccess
WordPress 根文件中的文件的任何直接访问(例如/var/www/your_wordpress_dir/.htaccess
):此后,尝试访问该页面应该会出现
403 Forbidden
错误500
,并且不会写入数据库日志警告:您会发现,许多网站
.htaccess
(例如wordpress.org或其他网站)仅明确阻止对 的访问,wp-config.php
因为它包含实际凭据。对 的访问wp-config-sample.php
可能不那么重要,但阻止这些请求不会造成任何损害,减少不需要的访问总是好的(并且您可以摆脱系统日志警告)。