怎么设置SQL2005防止SQL注入? 20zy13665886]

发布时间:2017-6-25 3:00:27 编辑:www.fx114.net 分享查询网我要评论
本篇文章主要介绍了"怎么设置SQL2005防止SQL注入? 20zy13665886]",主要涉及到怎么设置SQL2005防止SQL注入? 20zy13665886]方面的内容,对于怎么设置SQL2005防止SQL注入? 20zy13665886]感兴趣的同学可以参考一下。

我只知道“将系统视图(syscolumns)的Select权限设置成拒绝”; 设置好后,执行select  a.name,b.name  from  sysobjects  a,syscolumns  b  where  a.id=b.id  and  a.xtype='u' 如果是不能执行的,说明已经设置好了 但是我怎么设置都没有作用,还是可以运行,查处字段来 请高手指点,关键地方是哪里? 详细的步骤该怎么设置?才能设置成功

1、严格控制sql用户权限 2、动态T-SQL处理语句中,如果涉及到变量,尽量使用sp_executesql, 通过参数传递进行处理,避免使用EXEC硬拼SQL语句;

1:限制输入文本字符的数量;  2:替代或删除单引号;  3:使用ADO或ADO.NET时使用对象参数集合;  4:不用或少用动态sql语句;执行时必须进行合法性校验;  5:不要使用任何特权的帐户连接数据库,以避免扩展存储过程进行攻击;  6:过滤其他敏感字符输入;

楼上的说的都是方法,其实一般两种:一种是动态sql语句(传参数之类的) 另一种是过滤掉多余的字符

SQL注入专题 http://topic.csdn.net/u/20081205/09/3dd06076-bcbe-45d4-998c-8999fdbe6fae.html

revoke select on sys.all_columns to t_user

哥再也不会在程序里直接 exec sql语句了,给你做个参考。 public void RunProcByCmdTran(string SQL, SqlParameter[] paramArray)         {             Tcmd.Connection = myConn;             Tcmd.CommandType = CommandType.Text;             Tcmd.CommandText = SQL;             foreach (SqlParameter p in paramArray)             {                 Tcmd.Parameters.Add(p);             }             Tcmd.ExecuteNonQuery();             Tcmd.Parameters.Clear();             //Dispose(myConn);         }

上一篇:-----SQL2012新版给我们带来了什么激动人心的功能----- 40Chinajiyong]
下一篇:现在有没有硬件数据库? 40shendaowu]

相关文章

相关评论

本站评论功能暂时取消,后续此功能例行通知。

一、不得利用本站危害国家安全、泄露国家秘密,不得侵犯国家社会集体的和公民的合法权益,不得利用本站制作、复制和传播不法有害信息!

二、互相尊重,对自己的言论和行为负责。