gpt4 book ai didi

java - 将 Java 连接传递给多个公共(public)函数的安全问题

转载 作者:行者123 更新时间:2023-12-02 06:51:46 25 4
gpt4 key购买 nike

给出以下函数:

public void foo(Connection conn)  
{
PreparedStatement statement = conn.prepareStatement("Select a from table");
statement.execute();
}

使用在其他地方实例化的 Connection 对象(无论是应用程序的外部还是内部并不重要)。允许应用程序 API 中的函数接受未经验证的连接是否会引发任何安全问题?例如,未经验证的连接是否可以欺骗我的应用程序运行恶意查询?

最佳答案

是的,Connection 对象有可能运行恶意查询。

并且:不,我不知道如何防止这种情况,因为执行查询的代码需要Connection(或DataSource)。

使用了某种类型,例如用于连接池。从连接池中,您可以获得一个 Connection 对象,例如open()close() 方法无法按预期工作(因为池希望在需要时关闭连接)。因此连接池也可以重写其他方法(因为 Connection 只是一个接口(interface))。

关于java - 将 Java 连接传递给多个公共(public)函数的安全问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17947128/

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