sandman511
V2EX  ›  问与答

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

  •  
  •   sandman511 · Feb 20, 2020 · 1782 views
    This topic created in 2299 days ago, the information mentioned may be changed or developed.

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

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

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

    9 replies    2020-02-20 23:03:10 +08:00
    leon0318
        1
    leon0318  
       Feb 20, 2020 via iPhone
    如果使用 ORM 框架的话,不用考虑这个问题
    F281M6Dh8DXpD1g2
        2
    F281M6Dh8DXpD1g2  
       Feb 20, 2020
    prepared statement 是唯一从源头上解决问题的方法,其他的肯定有漏洞
    sandman511
        3
    sandman511  
    OP
       Feb 20, 2020
    @leonme servlet+JSP
    sandman511
        5
    sandman511  
    OP
       Feb 20, 2020
    @liprais 用且仅用 prepared statement 是否可以彻底避免 SQL 注入了
    sandman511
        6
    sandman511  
    OP
       Feb 20, 2020
    @hlwjia 我等等去看下这两个帖子
    “你觉得你手写的能和被公认的库比?还比他强?”
    公认的库?这是什么意思
    ym1ng
        7
    ym1ng  
       Feb 20, 2020
    OWASP ESAPI 了解一下
    Jacky23333
        8
    Jacky23333  
       Feb 20, 2020 via Android
    @sandman511 这跟 orm 有什么关系,麻烦楼主先百度下 orm 好吧.....
    retanoj
        9
    retanoj  
       Feb 20, 2020 via iPhone
    1 并不能。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   5214 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 46ms · UTC 05:51 · PVG 13:51 · LAX 22:51 · JFK 01:51
    ♥ Do have faith in what you're doing.