替换目录树中的所有index.html文件

时间:2009-08-26 06:08:55

标签: php search file replace

我与多个网站的共享主机帐户遭到入侵。我的PC上的一些恶意软件,我可能通过下载PDF文件,找到了我的所有FTP密码,并愉快地开始在服务器上的所有索引。*文件中插入一些代码。我现在摆脱了这个恶意软件,我已经准备好在我修复损坏后立即更改所有FTP密码。

我确实有一些备份,但不是所有的备份,而不是最近的备份。所以我认为恢复所有内容的最简单,最快捷的方法是修复所有文件夹中的所有index.html文件。但是,因为我使用Joomla,其中每个文件夹都有一个index.html文件来阻止目录列表,所以有数千个这样的文件。所以,我需要使用自动化工具。

  1. 一个选项是搜索并替换所有index.html文件中插入的字符串,但我认为这不会起作用,因为不同文件的字符串不同。
  2. 另一种选择是简单地用我知道应该是正确内容的内容替换index.html文件中的所有内容。
  3. 第三个选项是将所有index.html文件替换为我所知道的正确文件的副本。
  4. 令我惊讶的是,我还没有找到可执行选项2或3的脚本。我确实找到了各种程序或脚本来完成工作(搜索和替换字符串,递归遍历目录树等等)但不幸的是我无法将这些结合到一个有效的解决方案中。

    最好是解决方案是在服务器上运行的php或其他脚本,因此我不需要下载所有内容,可以使用FTP和cPanel作为我唯一的工具。

    根据我的研究,我不是这个恶意软件的唯一受害者。因此,解决方案也可以帮助其他Joomla用户。此外,如果解决方案能够使用自定义文件名(例如index2.php)替换为所选文件作为要复制的模板,那么使用任何类型的php文件成为受害者的任何人都将得到解决方案的帮助。显然,预计受害者人数会增加。

    有谁知道一个php脚本对我来说是一个解决方案,还是有人能够创建一个?

    假设找到了一​​个解决方案,是否有人有一个博客可供其他人发布和找到?

    许多人提前感谢!

    PS我应该注意,恶意软件实际上会更改任何名为index的文件,显然也是默认的。但是扩展名为.php的文件不多,我可以手动完成。

2 个答案:

答案 0 :(得分:2)

我的一个朋友在某个时候有一个类似的问题,他写了一个PHP脚本。 Check this post out。检查它是否对您有所帮助。

答案 1 :(得分:0)

这听起来像是一组不同寻常的情况,所以我并不感到惊讶,因为没有现成的解决方案。

  

3)第三种选择是替换   所有index.html文件都由什么副本   我知道这是正确的文件。

我认为这可能是你最好的选择。这应该花费大约一个小时来编写Python。请查看osshutil模块,尤其是os.walk()shutil.copyfile()。可以找到os.walk()的示例用法here,因为os.walk()在您第一次学习时会有点混乱。

或者,您可以Paypal我50美元,并通过电子邮件向我发送文件结构的描述(无论是从哪里获取备份以及它们将要去哪里),我都很乐意为您编写脚本。 :)