ASP.net防止SQL注入方法

简介: 1、sql注入比较难防,需要替换select,delete等一打字符 其实对于字符型替换再多都没有替换单引号为两个单引号来的好!对于数字型替换再多都没有用,一定要类型转换。

1、sql注入比较难防,需要替换select,delete等一打字符 

其实对于字符型替换再多都没有替换单引号为两个单引号来的好!对于数字型替换再多都没有用,一定要类型转换。 
2、忽略DropDownList传来的东西 
其实是不对的,一切客户端的东西都是不可信任的,select下拉框也是!因为可以自己做一个htm提交到服务器。 
3、access比sqlserver不安全 
安全不安全关键看怎么用,如果sqlserver还是像access一样用,一个sa帐户的话,很明显,sqlserver比access不安全,可以直接得到表名和字段名!access反而倒安全点了,因为只能通过逐位猜解得到。 
4、网站没有显示出错信息就说明网站是安全的 
当有记录的时候显示记录,没有记录的时候显示找不到任何记录,通过这两种状态就可以猜解字段名了,所以网页不出错不能说明是安全的 
5、忽略post提交的信息 
很多人对url上传递的东西过滤严格,对于post的东西不理不睬是不对的,post的东西更加容易被注入,因为一般字段比较多

在asp.net中强烈建议通过参数来实现sql而不是sql拼接,因为就算你每一个都过滤百密难有疏 
比如:

SqlConnection conn=new SqlConnection(System.Configuration.ConfigurationSettings.AppSettings["conn"]); 
            SqlCommand comm=new SqlCommand("update tb1 set vName=@vName,iAge=@iAge where ID=@id",conn); 
            SqlParameter parm1=new SqlParameter("@vName",SqlDbType.NVarChar,50); 
            parm1.Value=((TextBox)e.Item.FindControl("name")).Text; 
            SqlParameter parm2=new SqlParameter("@iAge",SqlDbType.Int); 
            parm2.Value=((TextBox)e.Item.FindControl("age")).Text; 
            SqlParameter parm3=new SqlParameter("@id",SqlDbType.Int); 
            parm3.Value=this.DataGrid1.DataKeys[e.Item.ItemIndex]; 
            comm.Parameters.Add(parm1); 
            comm.Parameters.Add(parm2); 
            comm.Parameters.Add(parm3); 
            conn.Open(); 
            comm.ExecuteNonQuery(); 
            conn.Close();


这样的代码看起来舒服而且又安全,何乐不为? 

转自:http://www.cnblogs.com/hcmfys/archive/2008/07/11/1240809.html

该文章链接出现在:Web漏洞检测及修复


目录
相关文章
|
2天前
|
SQL 关系型数据库 MySQL
Go语言项目高效对接SQL数据库:实践技巧与方法
在Go语言项目中,与SQL数据库进行对接是一项基础且重要的任务
20 11
|
1天前
|
SQL 关系型数据库 MySQL
如何查看SQL字符编码:详细技巧与方法
在SQL数据库管理中,字符编码对于确保数据的正确性和一致性至关重要
|
1天前
|
SQL 关系型数据库 MySQL
如何确认SQL用了索引:详细技巧与方法
在数据库管理中,索引是提高SQL查询性能的重要手段
|
1天前
|
SQL 存储 数据可视化
手机短信SQL分析技巧与方法
在手机短信应用中,SQL分析扮演着至关重要的角色
|
1天前
|
SQL 数据库连接 数据处理
批量提交SQL语句的技巧与方法
在数据库操作中,批量提交SQL语句可以显著提高数据处理的效率,特别是在需要执行大量插入、更新或删除操作时
|
1天前
|
SQL 数据库 数据库管理
数据库SQL函数应用技巧与方法
在数据库管理中,SQL函数是处理和分析数据的强大工具
|
2天前
|
SQL 数据库 索引
SQL中COUNT函数结合条件使用的技巧与方法
在SQL查询中,COUNT函数是一个非常常用的聚合函数,用于计算表中满足特定条件的记录数
|
1天前
|
SQL 存储 数据库
实验4:SQL视图操作技巧与方法
在数据库管理系统中,视图(View)是一种虚拟表,它基于SQL查询的结果集创建,并不实际存储数据
|
1天前
|
SQL Java 数据处理
批量提交SQL语句的技巧与方法
在数据库操作中,批量提交SQL语句可以显著提高数据处理的效率,特别是在需要插入、更新或删除大量数据的情况下
|
1天前
|
SQL 数据库连接 数据库
管理系统中的Visual Studio与SQL集成技巧与方法
在现代软件开发和管理系统中,Visual Studio(VS)作为强大的集成开发环境(IDE),与SQL数据库的紧密集成是构建高效、可靠应用程序的关键