如何检测网页变化?
我管理着一个网站,经常被数据库注入。请问有什么方法能检测网页的改变?我的网站用的是SQL数据库,但是很少更新信息。我想如果网站被更改就像我汇报。有什么方法能实现? 网站页面文件修改时间等 回复 4# bob你的意思是服务器本地检测?还是远程检测?还有检测方法?是每5分钟那种,还是说有什么新办法? 很容易,#include <IE.au3>
$oIE = _IE_Example ("basic")
$sHTML = _IEBodyReadHTML ($oIE)每隔一段时间刷新一下页面,对比一下$sHTML的内容即可。或者对比某些关键字,看你的需求了 使用wmi中的__InstanceModificationEvent类实时监视页面文件的修改, 触发发送email手机短信的事件.
这个类要应用在本机上, 远程监视会有问题. 对于这个类的详细解释去msdn查看.下面给一个vbs的事例吧.
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & _
strComputer & "\root\cimv2")
Set colMonitoredEvents = objWMIService.ExecNotificationQuery _
("SELECT * FROM __InstanceModificationEvent WITHIN 10 WHERE " _
& "TargetInstance ISA 'CIM_DataFile' and " _
& "TargetInstance.Name='c:\\scripts\\index.vbs'")
Do
Set objLatestEvent = colMonitoredEvents.NextEvent
Wscript.Echo "File: " & objLatestEvent.TargetInstance.Name
Wscript.Echo "New size: " & objLatestEvent.TargetInstance.FileSize
Wscript.Echo "Old size: " & objLatestEvent.PreviousInstance.FileSize
Loop 如果是sql注入的话可以用mom一类的监控软件以及sql语句监视大作业量的连接请求 用Webmon监控网页的变化 本帖最后由 阿福 于 2009-12-30 09:01 编辑
试试看,可以解决有数字计数器的网页,当计数器变化时不会受影响。当网页内容变化时才做提示。
可自定义:对于中文日期或“上午好”,“下午好”之类变化如果不处理视为没变化,在"Netsetup.ini"中自行定义。
支持多网页自动验证,自动发邮件,自动发短信(关了,没开放).
07年写的玩意,那时才从其他语言转学au3不久,可能不一定好用。
要监控的网页添加后,在该网页列表处点鼠标右键操作单个网页,或点“全部验证”只做一次全部网页验证,“自动验证”循环验证所有网页。
如果网页是自已做了修改变化的,点右键重新保存,或者删除重新添加。
就安全方面建议你学习一下 防注入 网站网络安全有多个方面,在这里不再阐述。
就问题 如果你是独立服务器你可以尝试一下用文件校验的方法 虚拟主机你只能读取数据再做校验处理 网站页面文件修改时间等
bob 发表于 2009-12-23 17:54 http://www.autoitx.com/images/common/back.gif
如果是纯htm无转向等的网页可以修改时间,asp也可以获取文件修改时间吗?好象_IEDocGetObj对象属性取到的永远是当前时间,不知如何实现? 数据库注入应该不会更改asp html文件,
asp写的有问题才会注入,应该找原因才对啊 回复 4# chenjunqiang
这样的话那关键就在于筛选了,一旦有改变就提醒。不过这也是我一开始所想的办法。 回复 5# xrbenbeba
VB不熟~ 这个怎么样在AU3中应用? 回复 13# ac5474012
AU3中用WMI 老帖子中有很多相关WNI的 回复 6# xrbenbeba
你说的 mom 是Microsoft Operations Manager吗?请那里有使用说明和XX的版本能给个链接吗?
页:
[1]
2