注册 登录
编程论坛 ASP技术论坛

request.form集合判断

lele2007 发布于 2011-04-03 20:35, 822 次点击
程序代码:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.">
<html xmlns="http://www.">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
</head>

<body>
<form action="?action=lele" method="post">
  <p>
    <input name="title" type="text" id="title" />
</p>
  <p>
    <input name="title2" type="text" id="title2" />
</p>
  <p>
    <input name="title3" type="text" id="title3" />
  </p>
  <p>
    <input name="title4" type="text" id="title4" />
  </p>
  <p>
    <input name="title5" type="text" id="title5" />
</p>
  <p>
    <input type="submit" name="Submit" value="提交" />
  </p>
</form>
</body>
</html>

程序代码:
<%

 
if request.QueryString("action")<>"" then
   
for each i in request.form
     response.write request.form(i)
&"<br>"
   
next

 
end if
%>

程序代码:

<%

 
if request.QueryString("action")<>"" then
   
for each i in request.form
     response.write i
&"<br>"
   
next

 
end if
%>


问下for each i in request.form里。。能判断表单项里的是  type="submit"类型的吗?
就是获取表单项里的类型

<input type="text".....  获取到  text
<input type="submit"....获取到   submit
<input type="reset".....获取到   reset


5 回复
#2
yms1232011-04-04 13:55
得不到type类型的,只能通过name或value来判断
#3
lele20072011-04-05 15:52
哦。
#4
lele20072011-04-05 16:00
程序代码:
const sqlValue         = "select|insert|delete|union|join|script|applet|object|'|drop|update|truncate|create|xp_cmdshell|exec|alter|cast|rename|modify|or"

 const sqlMessage       = "请勿提交含非法的字符



function safeRequest(Content)
    dim leleValue
    leleValue = request.querystring(Content)
    SafeRequest = leleValue
    if IsNumeric(leleValue) then exit function
    dim sql,i
    sql = split(sqlValue,"|")
    for i=0 to ubound(sql)
      if Instr(Lcase(leleValue),Lcase(sql(i)))>0 then
        echo "<font color=""red"">"&SqlMessage&"</font>"        '提示出错,并退出函数
        response.end
      end if
    next
    safeRequest = leleValue
  end function
有个问题,地址栏参数用 instr 查找关键字过滤。。  request.form表单提交  时要过滤和替换什么关键字啊啊?
#5
yms1232011-04-05 16:04
以下是引用lele2007在2011-4-5 16:00:36的发言:

const sqlValue         = "select|insert|delete|union|join|script|applet|object|'|drop|update|truncate|create|xp_cmdshell|exec|alter|cast|rename|modify|or"
 const sqlMessage       = "请勿提交含非法的字符
 
 
 
function safeRequest(Content)
    dim leleValue
    leleValue = request.querystring(Content)
    SafeRequest = leleValue
    if IsNumeric(leleValue) then exit function
    dim sql,i
    sql = split(sqlValue,"|")
    for i=0 to ubound(sql)
      if Instr(Lcase(leleValue),Lcase(sql(i)))>0 then
        echo ""&SqlMessage&""        '提示出错,并退出函数
        response.end
      end if
    next
    safeRequest = leleValue
  end function有个问题,地址栏参数用 instr 查找关键字过滤。。  request.form表单提交  时要过滤和替换什么关键字啊啊?
这段代码是防止SQL注入漏洞,防止黑客从外部参数操作数据库,这样黑客的外部操作数据库的命令都会被函数过滤掉,过滤的都是操作数据库的命令。
#6
lele20072011-04-05 16:10
呃,这个是用在地址栏参数了。。request.querystring  获取时判断

如果是request.form 提交。。一般是过滤或者替换什么的呢?

dim content = request.form("content")
replace(content,"'","'")
....
....
还有要过滤什么内容啊?
1