Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/378.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JAVA&;中客户端和服务器端之间数据库调用的安全方法;Servlet?_Java_Servlets_Ejb_Ejb 3.0_Servlet 3.0 - Fatal编程技术网

JAVA&;中客户端和服务器端之间数据库调用的安全方法;Servlet?

JAVA&;中客户端和服务器端之间数据库调用的安全方法;Servlet?,java,servlets,ejb,ejb-3.0,servlet-3.0,Java,Servlets,Ejb,Ejb 3.0,Servlet 3.0,我正在基于java安全套接字和JavaFX构建一个java聊天应用程序,并在服务器端使用Derby数据库记录数据库中的成员 我的问题是,如何在客户端小程序和服务器端之间建立安全连接?而不是从客户端到服务器端直接连接到远程数据库 我有一个想法,使用Servlet作为远程API,从客户端调用它,并告诉它在服务器上的远程数据库中运行它的命令 这种方法安全可靠吗? 但我担心的是,可能会有坏人试图获取API URL,并尝试错误地调用它,并向数据库添加错误记录,而不需要登录客户端应用程序并尝试入侵数据库?那

我正在基于java安全套接字和JavaFX构建一个java聊天应用程序,并在服务器端使用Derby数据库记录数据库中的成员

我的问题是,如何在客户端小程序和服务器端之间建立安全连接?而不是从客户端到服务器端直接连接到远程数据库

我有一个想法,使用Servlet作为远程API,从客户端调用它,并告诉它在服务器上的远程数据库中运行它的命令

这种方法安全可靠吗? 但我担心的是,可能会有坏人试图获取API URL,并尝试错误地调用它,并向数据库添加错误记录,而不需要登录客户端应用程序并尝试入侵数据库?那么,我如何确保自己不受这件事的影响呢?请注意,客户端应用程序可能安装在许多计算机中,因此不要告诉我通过确定能够通过API连接的远程IP来保护API:)

如果还有其他更安全的方法,请告诉我


谢谢,

您的应用程序似乎是一个很好的标准候选者。使用servlet作为客户机和数据库之间的代理是一种很好且广泛使用的方法。在其他好处中,它允许您使用更高级别的传输(HTTP),而不是处理套接字。您可以创建一个简单的RESTAPI来处理客户端请求,并从客户端调用它。我相信,它还将使客户端代码更简单

这种方法安全可靠吗

对。您可以使用HTTPS进行流量加密和HTTP基本身份验证,以防止对您的服务进行未经授权的调用。这些安全特性是servlet规范的一部分。或者,您可以使用其他框架(如Spring)来实现它