asp中关于url的跳转链接问题
来源:百度知道 编辑:UC知道 时间:2024/05/27 22:05:52
代码如下:
<a href="a.asp?ID=<%=rs("序号")%>" title="<%=rs("标题")%>"></a>
使用上述代码后,点击获得的url就会是http://www.xxxx.com/a.asp?ID=XXX这种样子的。很容易被注入攻击。所以,如何更改才能改变形式,比如变成http://www.xxxx.com/a.asp(无关字符)XXX。
请高手指教,谢谢!
<a href="a.asp?ID=<%=rs("序号")%>" title="<%=rs("标题")%>"></a>
使用上述代码后,点击获得的url就会是http://www.xxxx.com/a.asp?ID=XXX这种样子的。很容易被注入攻击。所以,如何更改才能改变形式,比如变成http://www.xxxx.com/a.asp(无关字符)XXX。
请高手指教,谢谢!
你可以这样传送
http://www.xxxx.com/a.asp?abcd=XXX 'abcd可以替换成其它任意无关字母
接收的时候用
ID=Request.QueryString("abcd")读取就行了
放注入和URL无关
关键是你的程序处理上
比如你这个地方就应该是
id=cint(request("ID"))
这样就可以防止任何不良请求
你说的注入攻击,那么在处理ID的时候对ID(数字型)用函数进行过滤就行了啊
你说的改变形式 是通过 url rewrite 实现的。
例如 http://xxx.com/a-{1}.html 转为 http://xxx.com/a.asp?id={1}
建议你搜索下 url rewrite
把
要显示的页面表态化生成新的页面,新的页面采用加密,像淘宝网的页面一样.全是一长串的乱码.别人就不能可攻击到.