gpt4 book ai didi

java - Appscan 源版 - SQL 注入(inject)

转载 作者:行者123 更新时间:2023-11-30 08:04:44 27 4
gpt4 key购买 nike

我正在使用 Appscan 源版本进行 Java 安全编码。它报告我的应用程序中存在 SQL 注入(inject)。问题是我们在代码中动态生成查询,因此我无法使用准备好的语句。相反,我必须使用 Esapi.encoder().encodeForSql(new OracleCodec(), query)。 AppScan 并不认为这可以缓解 SQL 注入(inject)问题。

final String s = "SELECT name FROM users WHERE id = " +
Esapi.encoder().encodeForSql(new OracleCodec(), userId);
statement = connection.prepareStatement(s);

此代码另外不适用于 ESAPI.encoder()

如何解决这个问题?

最佳答案

你应该做的是

final String s = "SELECT name FROM users WHERE id = ?"
statement = connection.prepareStatement(s);
statement.setString(1, userId);

关于java - Appscan 源版 - SQL 注入(inject),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31293417/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com