V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
sandman511
V2EX  ›  问与答

[ Java ]关于 SQL 注入的两个问题,请教一下。

  •  
  •   sandman511 · 2020-02-20 15:31:49 +08:00 · 1311 次点击
    这是一个创建于 1498 天前的主题,其中的信息可能已经有所发展或是发生改变。

    1.所有的 SQL 语句都使用 preparestatement 的话,不做其他任何设置,是否就可以彻底避免 sql 注入?

    2.因为系统较老 且 sql 语句很多 改成 preparestatement 工作量过大,于是写了一个过滤器,过滤参数中的 or 等词汇,但这样带来的问题是比如 importentInfo 这样的词汇中带有 or,也被过滤了。改如何修改?

    新手,如果问的问题比较低级,请不要嫌弃哈

    9 条回复    2020-02-20 23:03:10 +08:00
    leonme
        1
    leonme  
       2020-02-20 15:46:11 +08:00 via iPhone
    如果使用 ORM 框架的话,不用考虑这个问题
    liprais
        2
    liprais  
       2020-02-20 15:47:03 +08:00
    prepared statement 是唯一从源头上解决问题的方法,其他的肯定有漏洞
    sandman511
        3
    sandman511  
    OP
       2020-02-20 15:48:27 +08:00
    @leonme servlet+JSP
    sandman511
        5
    sandman511  
    OP
       2020-02-20 15:51:05 +08:00
    @liprais 用且仅用 prepared statement 是否可以彻底避免 SQL 注入了
    sandman511
        6
    sandman511  
    OP
       2020-02-20 15:53:25 +08:00
    @hlwjia 我等等去看下这两个帖子
    “你觉得你手写的能和被公认的库比?还比他强?”
    公认的库?这是什么意思
    ym1ng
        7
    ym1ng  
       2020-02-20 16:03:44 +08:00
    OWASP ESAPI 了解一下
    Jacky23333
        8
    Jacky23333  
       2020-02-20 16:13:14 +08:00 via Android
    @sandman511 这跟 orm 有什么关系,麻烦楼主先百度下 orm 好吧.....
    retanoj
        9
    retanoj  
       2020-02-20 23:03:10 +08:00 via iPhone
    1 并不能。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2724 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 00:22 · PVG 08:22 · LAX 17:22 · JFK 20:22
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.