日期:2014-05-17  浏览次数:20423 次

Request.QueryString["id"] 取回来的数据,不安全怎么办?
本来从数据库读出的page.asp?id=100

用户改了page.asp?id=1111,然后就会报错,我获取的时候总要去查一下有没此ID。很麻烦吧,我很多数据都是通过url传值的

或者有什么方法防止这种事发生。?



------解决方案--------------------
定ID一个规则 当不符合规则是跳转页面
------解决方案--------------------
获取一下最大的Id,然后判断,如果传入的比这个大,就把Id改为最大的

在取数据的时候判断集合是否为空,不为空再读取数据
------解决方案--------------------
if(Request.QueryString["id"]!=null||..............(自己定规则))
{
}
else
{
return;(或者response.redirect('..')等其他容错处理)
}
------解决方案--------------------
在web.config中定义错误信息页,或者在全局文件Global的Application_Error方法中重定向到错误信息页。