sandman511
V2EX  ›  问与答

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

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