首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java Web开发 >

请教上面的正则过滤XML.send的内容时什么位置导至发送的内容为空

2012-08-24 
请问下面的正则过滤XML.send的内容时什么位置导至发送的内容为空?Microsoft.XMLHTTPhttp.send(?xml vers

请问下面的正则过滤XML.send的内容时什么位置导至发送的内容为空?
Microsoft.XMLHTTP

http.send("<?xml version='1.0' encoding='utf-8'?><request>" + document.getElementById("keyword").value + "</request>");

请问下面的正则过滤XML.send的内容时什么位置导至发送的内容为空?

if request Form<>"" then call stophacker(request Form,"\b(and|or)\b {1,6}?(=|>|<|\bin\b|\blike\b)|/\* +?\*/|< *script\b|\bEXEC\b|UNION +?SELECT|UPDATE +?SET|INSERT +INTO +?VALUES|(SELECT|DELETE) +?FROM|(CREATE|ALTER|DROP|TRUNCATE) +(TABLE|DATABASE)")
function stophacker(values,re)
 dim l_get, l_get2,n_get,regex,IP
 
  for each l_get in values
  l_get2 = values(l_get)
  set regex = new regexp
  regex.ignorecase = true
  regex.global = true
  regex.pattern = re
  if regex.test(l_get2) then
  Response.Write "到底是哪错了呢?"
  Response.end
  end if
  set regex = nothing
  next
end function

[解决办法]
这个正则,主要是过滤掉可疑信息,比如:
<script 可能企图执行JS脚本,进行跨站攻击啥的
EXEC 可能企图在数据库中执行操作系统指令
INSERT 可能企图在数据库中插入数据
TRUNCATE 可能企图将数据库表清空掉

[解决办法]
不太容易看出来,表达式比较复杂,建议分段来进行测试,以逐步缩小范围。

热点排行