开发者社区> 问答> 正文

[@炯轩][¥20]SQL注入的原理,如何预防

SQL注入的原理,如何预防

展开
收起
jack胡 2018-12-17 16:50:13 2079 0
2 条回答
写回答
取消 提交回答
  • 防止SQL注入最常见的方法就是所有sql全部使用占位符,例如: select * from user where user_id='?' and password='?' ,而不用使用sql拼接,这样即可已完全杜绝sql注入类问题

    2019-07-17 23:22:37
    赞同 展开评论 打赏
  • 例如 页面用户输入用户名=abc, 密码=123
    后端数据库判断会拼接出SQL: select * from user where user_id='abc' and password='123'
    如果不加任何保护,用户可以输入用户名=' or ''=', 密码=' or ''='
    这样判断用户是否存在的sql就是: select * from user where user_id='' or ''='' and password='' or ''=''
    这样SQL 总会返回值,从而用户认证通过.

    预防SQL注入现在有很多防注入的java, C#包, 原理就对用户输入的内容做一定限制, 禁止像上面一样输入一些非法的字符串

    2019-07-17 23:22:37
    赞同 1 展开评论 打赏
问答分类:
SQL
问答地址:
问答排行榜
最热
最新

相关电子书

更多
SQL Server 2017 立即下载
GeoMesa on Spark SQL 立即下载
原生SQL on Hadoop引擎- Apache HAWQ 2.x最新技术解密malili 立即下载