请问下面的正则过滤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  可能企图将数据库表清空掉
------解决方案--------------------
不太容易看出来,表达式比较复杂,建议分段来进行测试,以逐步缩小范围。