我有一个安装了多个 Wordpress 的客户,但他没有及时更新。结果,他被黑了。在我尝试找出黑客是如何进入并永久解决问题的同时,我正在尝试创建一个脚本来快速、自动地修复它们。
我找到了这个脚本,它可以满足我的要求:http://designpx.com/tutorials/wordpress-security/
它会自动删除 <?php eval(base64_decode("aWY..."); ?>
来自每个 php 文件,但它用于执行此操作的正则表达式也删除了 <?php get_header(); ?>
如果它跟随恶意代码。
所以,我想要的是改变它,让它只去除恶意代码,而不是第一行php代码。这是执行替换的脚本部分:
find $dir -name "*.php" -type f \
|xargs sed -i 's#<?php /\*\*/ eval(base64_decode("aWY.*?>##g' 2>&1
我需要更改什么,所以它停在第一个 ?>
, 而不是在第二个?
注意:我知道这是一种快速的临时修复方法,但在客户决定要修复哪些站点以及要删除哪些站点之前,它会一直有效。
最佳答案
- 备份数据库和主题。
- 删除 WordPress。
- 删除所有可疑文件。
- 安装最新的 WordPress。
- 保持新的 WordPress 文件写保护
- 打所谓的“管理员”不按时更新。
- 利润。
不需要一些疯狂的脚本之类的东西。除非文件被感染,否则 PHP 上的黑客无法工作。删除它解决了问题。
是的,即使您在同一台服务器上安装了多个 wordpress 也可以这样做(为什么?!)。
关于PHP 正则表达式修复被黑的 Wordpress 网站,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13000177/