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

SqlParameter指明SqlDbType和不指明SqlDbType有没有区别
最近在调试程序,因为程序对安全性要求较高,所以在找SQL注入可能存在的漏洞。
期中就是关于参数列表的问题。
SqlParameter(string,object);
SqlParameter(string,SqlDbType);
SqlParameter(string,SqlDbType,int);
所以想问下,指明SqlDbType和Size 和不指明SqlDbType有没有区别。
不指明SqlDbType是不是安全性更差。
因为程序里存在很多
SqlParameter[] parameters = {
                           new SqlParameter("@Person",model.Person)
                           };
这种代码没有指明SqlDbType。
会不会有问题?
SqlParameter SqlDbType

------解决方案--------------------
区别还是有的,主要体现在字段长度方面。程序中限定varchar(20),20个字符,则你传入30个字符就会报错。
------解决方案--------------------
就是把安全检查放到你写的这段代码中,而不是让数据库去检测。