gpt4 book ai didi

php - 使用 sed 删除第一行代码中 之间的所有内容(包括 )

转载 作者:太空宇宙 更新时间:2023-11-04 09:27:01 27 4
gpt4 key购买 nike

我的服务器最近被黑客攻击并注入(inject)了 php 代码,在每个 php 文件的第一行都有类似

的内容
<?php $jybcqmhk = 'x24- x24*<!~!    x24/%t2w/ //truncated code  ?><?php

代码本身在每个文件上略有不同,但通常在第一个 ?> 我的实际代码开始之后。

有没有办法使用像 SED 这样的东西,我可以删除第一行之间的所有内容并保留其余部分。

我已经尝试了一些方法,但最终要么有一个额外的 php 开始标记,要么不小心删除了 php 结束标记之后的行中的代码。

例如,这在代码以 php 开始标记开始的地方有效,但会因其他任何内容而中断。

find ./ -iname '*.php' -exec sed -i '1 s/^.*$/<?php/g' {} \;

最佳答案

也许这会有所帮助:

find ./ -iname '*.php' -exec sed -i '1 s/<?php/\n&/2;s/<?php.*\n//' {} \;

sed 命令操作 2 个替换:第一个隔离第一个 <?php ?>命令在一个新行中,第二个将其删除。

关于php - 使用 sed 删除第一行代码中 <?php ?> 之间的所有内容(包括 <?php ?>),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35358407/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com