网页被嵌入iframe大多数网站管理员都遇到过,一般这种问题是网站有漏洞,(少数部分也因ARP病毒引起,可以从源代码中进行判断)系统漏洞或者SQL注入漏洞,或者上传文件漏洞,然而,如何防止网页被修改加入脚本病毒? 现将这个问题总结分享一下:
1、简单的补救措施:在服务器IIS中,把所有的ASP,HTML文件的属性设置为Everyone只读(一般是IUSR_),只把数据库的权限设置成可写, 注意:如果你没有服务器的管理权限,那么登录上的空间ftp,选中那些不需要写入的文件或文件夹,右键点击-属性:把其中的三组写入权限都取消,但如果你有ACCESS数据库,要把数据库设成可写,不然读数据时会出错。  
  2、先把恶意代码删掉(替换掉),然后把网站目录下的所有文件全部用杀软杀下 ,然后一个一个检查下是否存在后门.  
  3、在你的程序里写上以下防注入函数  
  on error resume next   ’这行代码放到conn.asp的第一行。  
  ’防止注入  
  dim qs,errc,iii  
  qs=request.servervariables("query_string")  
  ’response.write(qs)  
  dim deStr(18)  
  deStr(0)="net user"  
  deStr(1)="xp_cmdshell"  
  deStr(2)="/add"  
  deStr(3)="exec%20master.dbo.xp_cmdshell"  
  deStr(4)="net localgroup administrators"  
  deStr(5)="select"  
  deStr(6)="count"  
  deStr(7)="asc"  
  deStr(8)="char"  
  deStr(9)="mid"  
  deStr(10)="’"  
  deStr(11)=":"  
  deStr(12)=""""  
  deStr(13)="insert"  
  deStr(14)="delete"  
  deStr(15)="drop"  
  deStr(16)="truncate"  
  deStr(17)="from"  
  deStr(18)="%"  
  errc=false  
  for iii= 0 to ubound(deStr)  
  if instr(qs,deStr(iii))<>0 then  
  errc=true  
  end if  
  next  
  if errc then  
  Response.Write("对不起,非法URL地址请求!")  
  response.end  
  end if  
  4、在文件<head></head>中加入  
  <script language="javascript">  
  <!--  
  if (top.location != location) top.location.href = location.href;  
  //-->  
  </script>  
  ====================== 以下为摘录===网页防篡改  
  一,Stream开关可自由设置,ASP中的ADODB.Stream 对象用来操作二进制或文本数据的流。通常用于无组件上传和验证码等功能。关闭该组件可以提高网站安全。 Fso开关也可自由设置,FSO(FileSystemObject)是微软ASP的一个对文件操作的控件,该控件可以对服务器进行读取、新建、修改、删除目录以及文件的操作。关闭该组件有利于提高网站安全。  
  二,假设网站建好后,今后一段时间都不会再用到ftp上传功能,这时可以暂时关闭FTP上传,有助于提高网站的安全,即使ftp密码泄露,***也不能操作空间内的文件,设置后60秒后生效。  
  三,另外还可设置脚本权限与写入权限,如果网站只使用了asp,可设置为只开放asp权限。这样***即使上传了php的***到空间也不能运行,最少的权限=最大的安全。写入权限设置则系统支持全国领先的目录权限设置,允许关闭网站的写入权限,锁定虚拟主机。对安全有重要意义,例如可以将access数据库放在databases目录,而将wwwroot目录的写入 权限关闭,令asp***根本无法上传,这样比关闭FSO更安全。
 
附:
在落伍者网站看到一个托管用户写了同样的一个问题解决方法,在此转载一下:
解决问题的方法×××。
半夜一个网站被黑了,然后突然发现在访问服务器所有html页面的时候,自动插入iframe
通过以下各项检查,均未能发现问题
1、安装了防火墙
2、检查了web程序
3、检查了当天有没有新建或修改的文件(exe,bat,dll等)
4、非本地DNS被ARP
准备放弃的时候。查看了下iis的的配置
我们找到这个文件

打开以后果然是挂马的IFRMAE内容
打开IIS,在你的计算机名(根目录)右键选择属性,在允许直接编辑配置数据库复选框前打钩  
 
然后才是在服务里关闭iis admin service服务    
找到IIS配置文件C:\WINDOWS\system32\inetsrv\MetaBase.xml
查找“DefaultDocFooter=”

然后删掉此行
然后重启iis admin service服务  
否则你修改后不能保存该文件,也即不能修改。
大功告成。阿米陀佛,总算不用重装系统了!