这是 apache2 error.log 中众多相同的行之一
PHP Deprecated: Function split() is deprecated in /home/admin/www/public_html/file.php : eval()'d code on line 243
问题是这个错误出现在旧版本的文件中。文件大约在三周前更新过。现在文件中没有 split(),但错误仍然存在。
Nginx 1.06 + Apache2.2 + PHP5
答案1
eval()
黑客经常使用函数将编码代码添加到旧的/易受攻击的文件中,使其执行各种操作。这可能是黑客注入的代码。根据 quanta 的建议,在您的目录中运行 grep 以查找所有出现这种情况的情况。如果需要,请一次检查一个文件。有人可能通过易受攻击的代码访问了您的服务器。
'split()' 函数也可能被编码,因此搜索“split”可能会无果。在这种情况下,请在文本编辑器中查看以下文件(我建议根本不要在浏览器中运行它):
/主页/管理员/www/public_html/file.php
大多数代码要么是在最顶部,要么是在最底部注入的。它通常被编码为 base64。在这两个位置中查找乱码文本。如果这两个位置都不存在乱码文本,请开始逐行检查代码。
此外,很多黑客会将被入侵文件的权限更改为所有用户 (777) 的读取、写入、执行权限。通过 FTP 快速查看权限列,看看其他文件是否已被更改。