如何在开发阶段预防SQL注入?

如何在开发阶段预防SQL注入?

参与9

3同行回答

whitesonnywhitesonny安全工程师光大
1.永远不要信任用户的输入。对用户的输入进行校验,可以通过正则表达式,或限制长度;对单引号和双"-"进行转换等;2.永远不要使用动态拼装sql,可以使用参数化的sql或者直接使用存储过程进行数据查询存取;3.永远不要使用管理员权限的数据库连接,为每个应用使用单独的权限有限的数据...显示全部

1.永远不要信任用户的输入。对用户的输入进行校验,可以通过正则表达式,或限制长度;对单引号和双"-"进行转换等;

2.永远不要使用动态拼装sql,可以使用参数化的sql或者直接使用存储过程进行数据查询存取;

3.永远不要使用管理员权限的数据库连接,为每个应用使用单独的权限有限的数据库连接;

4.不要把机密信息直接存放,加密或者hash掉密码和敏感的信息;

5.应用的异常信息应该给出尽可能少的提示,最好使用自定义的错误信息对原始错误信息进行包装。

个人见解,希望能帮助到你!

收起
银行 · 2016-05-18
浏览1862
zhangjian85zhangjian85技术经理泰康
使用预处理执行SQL语句,对所有传入SQL语句中的变量,做绑定。这样,用户拼接进来的变量,无论内容是什么,都会被当做替代符号“?”所替代的值,数据库也不会把恶意用户拼接进来的数据,当做部分SQL语句去解析。...显示全部

使用预处理执行SQL语句,对所有传入SQL语句中的变量,做绑定。这样,用户拼接进来的变量,无论内容是什么,都会被当做替代符号“?”所替代的值,数据库也不会把恶意用户拼接进来的数据,当做部分SQL语句去解析。

收起
保险 · 2016-05-18
浏览1866
zhangjian85zhangjian85技术经理泰康
1,制定开发安全编码规范(针对自己开发和外包)2,安全开发培训3,引入开发安全框架显示全部

1,制定开发安全编码规范(针对自己开发和外包)

2,安全开发培训

3,引入开发安全框架

收起
保险 · 2016-05-18
浏览1854

提问者

sunshinebao
系统运维工程师阳光保险
擅长领域: 服务器小型机存储

问题来自

相关问题

相关资料

相关文章

问题状态

  • 发布时间:2016-05-18
  • 关注会员:3 人
  • 问题浏览:5915
  • 最近回答:2016-05-18
  • X社区推广