微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

大量从php文件中删除恶意行

在这里简短地解决删除一个PHP文件中的开始和结束string,但我正在寻找相同的代码解决scheme。 服务器上的每一个PHP文件的第一行都以<?PHP if(!isset($GLOBALS[并以-1; ?>结尾,中间是一长串代码,因文件而异)开头。

我试图想出一个脚本来从所有文件删除此行。 我和上一篇文章中的人一样,跑到了同一堵墙里。

使用:

sed -e '1 s/^<?PHP if(!isset($GLOBALS[.*-1; ?>//' *.PHP

在UNIX环境中打印没有代码PHP文件,但不保存它。 我错过了什么?

如何在Linux / var / www中设置权限以允许从PHP-Apache自动覆盖

与PDF和PHP的Apache2 errror

删除大量的文件

使用mod_headers和PHP-fpm / mod_fastcgi的问题

PHP编译器for windows

在XAMPP上安装PHP-intl

Nginx将所有来自子目录的请求redirect到另一个子目录

使用PHP执行unix shell命令

新的APCu APC用户caching是否在进程之间共享?

PHP单点login使用NTLMv2

我写了一个脚本来清除所有目录和子目录中的所有文件。 我建议你备份第一。 这是从壳内完成的

首先在你的主目录下创建一个名为fixmacro的文件, fixmacro在其中添加以下两行

:1/ua=strtolower/s/^.*<?PHP$/<?PHP/ :wq

从受感染文件所在的目录开始,或者您可以从主目录运行它,请运行以下命令。

find . -name *.PHP -exec vi -s ~/fixmacro {} ;

这将去每一个PHP的感染线看,并删除它们。 如果这些文件没有被感染文件,则重新保存该文件而不更改/

使用sed的-i选项,以便sed修改PHP文件

-i[SUFFIX],--in-place[=SUFFIX] edit files in place (makes backup if extension supplied)

[SUFFIX]部分是可选的,但一些sed实现要求您提供它。

在你的情况下,你可以试试这个:

sed -i.bak 's/^<?PHP if(!isset($GLOBALS[.*-1; ?>//' *.PHP

阅读man sed了解更多信息。

得到它的工作,感谢您使用-i的建议。 工作命令是: sed -i.bak 's/^<?PHP if(!isset($GLOBALS[.*-1; ?>//' *.PHP

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐