预防SQL注射攻击(译自MSDN)[网络技术]
本文“预防SQL注射攻击(译自MSDN)[网络技术]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
预防SQL注射攻击
Michael Otey
全部的关系型数据库——包含SQL SERVER,ORACLE,IBM DB2和MYSQL都简单遭到SQL注射攻击.你可以购置一些产品来保护你的系统免受SQL注射攻击,但在大大都商务中,预防SQL注射必须是基于代码级的.SQL注射攻击主要来自WEB利用程序将用户的包含动态SQL代码的输入转换成了SQL 号令给数据库履行.你可以采取下面的四个重要的步骤来保护你的WEB利用程序免受攻击.除此之外,上个月我在夸大的MSDN中情势与锻炼也提出了一些保护数据库驱动的WEB利用程序的倡议.
4.最小权利法例
利用程序利用的去衔接数据库的帐户应当只拥有必须的特权,这样有助于保护整个系统尽大概少的遭到入侵者的危害.利用程序不该该用SA大概管理员帐户去衔接数据库.作为替换,它应当只有拜候它要调用的单个库的权利.
3.考证全部的输入
假如一个输入框只大概包含数字,那么要通过考证确保用户输入的都是数字.假如可以承受字母,那就要查抄是不是存在不可承受的字符.确保你的利用程序要查抄以下字符:分号,等号,破折号,括号以及SQL关键字..NET FRAMEWORK供应了正则表达式来举行复杂的情势匹配,应用它可以到达杰出的效果.别的限制用户输入的字符的长度也是一个好主张.考证用户输入是必须的,因为入侵者可以操纵WEB的开放性对利用程序举行SQL注射攻击.
2.避免动态的SQL语句
动态的SQL语句是一个举行数据库查询的强盛的工具,但把它和用户输入混合在一同就使SQL注射成为了大概.将动态的SQL语句替换成预编译的SQL大概存储历程对大大都利用程序是可行的.预编译的SQL大概存储历程可以将用户的输入做为参数而不是SQL号令来接纳,这样就限制了入侵者的行动.当然,它不实用于你的存储历程中是操纵用户输入来生成SQL号令的情形.在这种情形下,用户输入的SQL号令仍大概得到履行,你的数据库仍旧有受SQL注射攻击的危险.
1.利用双引号
利用双引号替换掉全部用户输入的单引号,这个简单的预防办法将在很大程序上预防SQL注射攻击,单引号常常完毕掉SQL语句,大概给于输入者不必要的权利.用双引号替换掉单引号可以使很多SQL注射攻击失利.
以上是“预防SQL注射攻击(译自MSDN)[网络技术]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |