首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用JTOpen连接到AS/400时的SQL注入风险

使用JTOpen连接到AS/400时的SQL注入风险
EN

Stack Overflow用户
提问于 2011-03-04 18:04:00
回答 2查看 823关注 0票数 2

我们正在使用JTOpen连接到我们的AS/400机器,我正在尝试解决在使用这种类型的集成时SQL注入易受攻击的风险。

请注意,我们只使用API的调用程序部分,而不是jdbc连接。

我不是一个RPG程序员,我不知道将JTOpen注入到代码中的风险是什么,也不知道SQL是否能阻止这类攻击。

然而,我在谷歌上搜索了一下后发现,当RPGLE程序不使用存储过程时,也可以将SQL注入到这些程序中。所以我的问题是:这是否也可以通过JTOpen应用程序接口来实现。

我们是否需要在所有对SQL的调用中以编程方式检查JTOpen注入?

EN

回答 2

Stack Overflow用户

发布于 2011-03-04 21:54:57

如果您没有使用JDBC,那么您需要检查SQL注入的唯一原因是,如果您在使用JT400的主机上调用的程序中使用了动态SQL。

如果在主机上运行的程序不使用动态SQL,则根本没有风险。

票数 1
EN

Stack Overflow用户

发布于 2011-03-04 22:33:12

我不是java专家,所以我在这里只使用psuedo-code。

根据我的理解,您可以使用动态SQL,但不要将where语句连接在一起。

所以string = "select * from table where key = " + id是完全错误的。但是,您可以执行类似的操作

代码语言:javascript
复制
string = "select * from table where key = @id";
build connection
add parameter to assign value to @id
execute command

不过,更好的选择是使用存储过程。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5192272

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档