我正在制作一个在网页上运行的小型java游戏。现在我试图让我的游戏与MySQL数据库进行通信,现在通过PHP进行。
所以这是发生的事情:
像梦一样工作和奔跑!
我唯一担心的是我实际上必须通过同一个周期更改并将更多数据存储到数据库中。因此,如果您的会话正在运行,您可以基本上做好的HTML表单并为您的角色设置更好的武器。
我尝试了google与数据库进行通信的基本方法以及服务器如何安全工作的基本理论。没有简单的答案。
所以很快我的问题是,
在Java应用程序和数据库之间进行通信(读写)的安全正确方法是什么?
未来也会对Android应用程序做同样的事情。我很高兴你能给我一个正确的方向。
感谢你!
答案 0 :(得分:3)
没有。如果有任何方式,客户端可以从外部直接向服务器发出任意SQL查询,那么几乎没有任何保护可以阻止任何人对他们想要的数据库做任何事情,包括SELECT * FROM users
和DROP TABLE users
。
您始终需要外部世界和服务器组件之间的 API ,它们定义了明确允许的操作并阻止其他任何操作。允许任意SQL查询基本上是一个API,允许不受限制地访问数据库中的所有内容,这通常过于宽泛。
通常这样做的方法是定义客户端可以执行的许多操作,并通过API(例如REST API)公开它们。 Java客户端与此API进行通信,无论服务器后台发生什么都无关紧要。这不是“与数据库交谈”,而是关于在服务器上做某些事情。而这些事情的数量应该是有限的。
答案 1 :(得分:0)