PHP:如何使用str_replace?

时间:2011-09-07 19:43:08

标签: php

我的服务器遭遇了一个令人讨厌的javascript iframe病毒。特洛伊木马注入每个index.php,index.html和&amp; login.php文件。该病毒看起来像<script>VirusCodeCrap</script>

无论如何,我可以使用PHP的str_replace函数来搜索我的服务器并删除病毒吗?有谁知道我能找到一些关于如何做到这一点的例子吗?

谢谢,

阿尔伯特

2 个答案:

答案 0 :(得分:1)

如果您使用的是Unix服务器,sed是查找和替换文件中文本的最佳方式。

如果必须使用PHP,算法将是:

  1. 使用file_get_contents()

    将文件读入变量

    $file_contents = file_get_contents( $filename );

  2. 搜索替换有问题的字符串

    $file_contents = str_replace( $the_offending_text, $the_replacement_text, $file_contents);

  3. 使用file_put_contents

    $file_contents写回文件

    file_put_contents( $file_contents );

  4. 如果字符串在每种情况下都不完全相同,则

    str_replace()可能不足。如果违规字符串有变化,您可能需要使用正则表达式来定位和删除它们。

答案 1 :(得分:0)

我会立即删除服务器中的所有文件,并从代码存储库的任何位置重新上传干净的副本。我还会找到代码被利用的地方并修补安全漏洞。

通过编辑文件中的病毒来解决这个问题似乎是一个漫长而艰难的方法,当你应该备份你的文件(没有在实时服务器上)时。