wu_0916
竖心旁的情
采纳率100%
2017-08-08 15:18 阅读 3.7k

mybatis动态传入表名和字段名问题

8

mybatis动态传入表名和字段名会有sql注入的危险,如果我指定返回类型是不是就可以解决这个问题?

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

3条回答 默认 最新

  • 已采纳
    qq_31515997 hello.. 2017-08-09 01:19

    楼上说的差不多了,其实你可以先去看下$ 和# 的区别,第二,客户端输入也不是不可以用$ ,只是会设计到一些列的验证,常见的就是检查关键字,比如and ,insert 等等

    点赞 1 评论 复制链接分享
  • qq455276333 在路上的JavaCoder-尹骑 2017-08-09 01:05

    指定返回类型和sql注入没有关系,返回类型表示这个sql都已经执行了。
    动态传入表名和字段名,只要这个字段不是来自用户输入的话,就不会存在sql注入的问题。如果是客户端输入的话,就不能使用$ 符了

    点赞 2 评论 复制链接分享
  • Tastill Tastill 2017-08-09 10:15

    如果能明确动态传入的数据类型,可以在SQL里强转。
    如果根本就不能确定动态传入的数据类型,那么最好是在后台转成与数据库字段对应的数据类型,再调用SQL。
    比较想要玩,就得游戏规则,这对后期系统维护也是好的!

    点赞 评论 复制链接分享

相关推荐