Sql Sql防注入 Sql注入
很多初学者总觉得Sql防注入很神秘,这里了篇[hcmfys]写的方法,大家看一下,应该很有帮助 1、sql注入比较难防,需要替换select,delete等一打字符 其实对于字符型替换再多都没有替换单引号为两个单引号来的好!对于数字型替换再多都没有用,一定要类型转换。 2、忽略DropDownList传来的东西 其实是不对的,一切客户端的东西都是不可信任的,select下拉框也是!因为可以自己做一个htm提交到服务器。 3、access比sqlserver不安全 安全不安全关键看怎么用,如果sqlserver还是像access一样用,一个sa帐户的话,很明显,sqlserver比access不安全,可以直接得到表名和字段名!access反而倒安全点了,因为只能通过逐位猜解得到。 4、网站没有显示出错信息就说明网站是安全的 当有记录的时候显示记录,没有记录的时候显示不到任何记录,通过这两种状态就可以猜解字段名了,所以网页不出错不能说明是安全的 5、忽略post提交的信息 很多人对url上传递的东西过滤严格,对于post的东西不理不睬是不对的,post的东西更加容易被注入,因为一般字段比较多 在asp中强烈建议通过参数来实现sql而不是sql拼接,因为就算你每一个都过滤百密难有疏 比如:
1. SqlConnection conn=new SqlConnection(System.Configuration.ConfigurationSettings.AppSettings["conn"]);
sql语句替换表中内容2. SqlCommand comm=new SqlCommand("update tb1 set vName=@vName,iAge=@iAge where ID=@id",conn);
3. SqlParameter parm1=new SqlParameter("@vName",SqlDbType.NVarChar,50);
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论