还是翻页功能.大虾们帮我看看哩

daydayuq 2007-03-11 10:47:39
http://www.tf99.com.cn/
这个页的查询功能里,当选择/输入需要的条件后,转到searchhouse.asp页面,这个页显示出符合条件的内容,但是当翻页时却又显示出库里的全部记录(而不像第一页时的只显示符合条件的记录了),应该如何修改?
...全文
122 点赞 收藏 7
写回复
7 条回复
daydayuq 2007年03月12日
在conn文件的开头加了以下代码,请问这样防注可以了吗?

Dim GetFlag Rem(提交方式)
Dim ErrorSql Rem(非法字符)
Dim RequestKey Rem(提交数据)
Dim ForI Rem(循环标记)
ErrorSql = "'~;~and~(~)~exec~update~count~*~%~chr~mid~master~truncate~char~declare" Rem(每个敏感字符或者词语请使用半角 "~" 格开)
ErrorSql = split(ErrorSql,"~")
If Request.ServerVariables("REQUEST_METHOD")="GET" Then
GetFlag=True
Else
GetFlag=False
End If
If GetFlag Then
For Each RequestKey In Request.QueryString
For ForI=0 To Ubound(ErrorSql)
If Instr(LCase(Request.QueryString(RequestKey)),ErrorSql(ForI))<>0 Then
response.write "<script>alert(""警告:\n请不要使用敏感字符"");location.href=""Sql.asp"";</script>"
Response.End
End If
Next
Next
Else
For Each RequestKey In Request.Form
For ForI=0 To Ubound(ErrorSql)
If Instr(LCase(Request.Form(RequestKey)),ErrorSql(ForI))<>0 Then
response.write "<script>alert(""警告:\n请不要使用敏感字符"");location.href=""Sql.asp"";</script>"
Response.End
End If
Next
Next
End If
回复 点赞
xie_yanke 2007年03月12日
if 第二个条件<>"" then
'判断,过滤参数值.
mysql=mysql + "... like '%"&zhonglei&"%'"
end if

另外,,,在链接sql语句前,要防注入露洞.把', -, ",过滤过.并对一些数值型的,或时间型等不同值去做一下判断.防止浏览者直接修改地址栏参数值.
回复 点赞
itzhiren 2007年03月12日
就用=,没有问题的
回复 点赞
daydayuq 2007年03月12日
types1=request("types")
shiqu=request("shiqu")
zhonglei=request("zhonglei")
fangmj1=request("fangmj1")
fangmj2=request("fangmj2")
shoudan1=request("shoudan1")
shoudan2=request("shoudan2")
shouzong1=request("shouzong1")
shouzong2=request("shouzong2")
zudan1=request("zudan1")
zudan2=request("zudan2")
zuzong1=request("zuzong1")
zuzong2=request("zuzong2")


url="types1="&types1&"&shiqu="&shiqu&"&zhonglei="&zhonglei&"&fangmj1="&fangmj1&"&fangmj2="&fangmj2&"&shoudan1="&shoudan1&"&shoudan2="&shoudan2&"&shouzong1="&shouzong1&"&shouzong2="&shouzong2&"&zudan1="&zudan1&"&zudan2="&zudan2&"&zuzong1="&zuzong1&"&zuzong2="&zuzong2

mysql="SELECT * FROM LSResource WHERE 1=1"
if types1<>"" then
mysql=mysql+" and 资料类型='"&types1&"'"
end if
if shiqu<>"" then
mysql=mysql+" and 简略地址 like '%"&shiqu&"%'"
end if

if zhonglei<>"" then
mysql=mysql+" and 物业类型='"&zhonglei&"'"
end if
........

我用上面的URL来接收所有的参数,但是又出现一个问题:上面的SQL中的第二个条件是用like而不是用=来筛选数据,而在用url处传参数的时候却用了= .这个应该怎么改呢?
回复 点赞
我在地球 2007年03月12日
我知道问题出在当翻页是 ,没有把 要查询的条件传值过去。也就是说 searchhouse.asp第一次调用 她知道了查询条件 string (来自前一个页面),当点 “2”、“3”时 ,就再调用自身。这时,你可把 条件 string 继续“传承”下去

<a href="searchhouse.asp?conditon=<%=string%>&page=2">2</a>
....

回复 点赞
xie_yanke 2007年03月12日
把查询的表单项值放到参数集中,或放到结果页的隐藏表单域中保存.
回复 点赞
daydayuq 2007年03月12日
大虾们帮我看看哩?
回复 点赞
发动态
发帖子
ASP
创建于2007-09-28

1.9w+

社区成员

35.7w+

社区内容

ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区公告
暂无公告