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

时间:2013-10-05 20:55:33

标签: java servlets ejb ejb-3.0 servlet-3.0

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

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

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

这种方法安全可靠吗? 但是我担心一个坏人可能会尝试获取API URL,并尝试严重调用它并将错误的记录添加到数据库而无需登录客户端应用程序并尝试破解数据库?那么我如何从这件事中保护自己?注意客户端应用程序可能安装在许多计算机上,所以不要告诉我通过确定能够通过API连接的远程IP来保护API :)

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

谢谢,

1 个答案:

答案 0 :(得分:0)

您的应用似乎是标准three-tier architecture的合适人选。使用servlet作为客户端和数据库之间的代理是一种很好的,广泛使用的方法。除了其他好处之外,它还允许您使用更高级别的传输(HTTP)而不是处理套接字。您可以创建一个简单的REST API来处理客户端请求并从客户端调用它。我相信,它也会使客户端代码更简单。

  

这种方法安全可靠吗?

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