关于防止参数ID恶意传值的问题收藏

来源:互联网 发布:淘宝军刀匕首 编辑:程序博客网 时间:2024/06/05 13:36

这里主要讨论参数值为数字的问题,  一般的做法是进行数据类型转换,  使用 try catch来捕获异常,


但是这种做法在性能上和实际效果并不是最佳的,  在.NEt 2.0中对于上面这个情况就可以直接使用新


引入的TryParse方法来实现了


例如:
int i = 0;
int j = 0;
bool IsPre1 = Int32.TryParse("30",out i);
bool IsPre2 = Int32.TryParse("12s",out j);
//执行之后i = 30 , j = 0 ; IsPre1 = true, IsPre2 = false;


可以使用

int requestString=0;

if(Int32.TryParse(Request["参数名称"], out requestString))来进行判断, 如果成功(表示转换成功)


就继续执行程序, 否则就停止执行, 这样就可以有效地防止恶意参数ID传入。