1

我正在制作一个在网页上运行的小型 Java 游戏。现在我试图让我的游戏与 MySQL db 通信,现在它通过 PHP 进行。

所以这就是发生的事情:

  1. 有一个基本的登录系统,它在登录时设置会话(PHP)。
  2. 当 java 游戏从 db 询问数据时,它会将 POST (URLConnection) 发送到 PHP 页面。
  3. PHP 页面检查是否设置了会话,如果是,它会从 db 中回显想要的信息。
  4. Java 游戏使用 PHP 页面输出。

像梦想一样工作和跑步!

我唯一担心的是,我实际上必须通过同一个周期将更多数据更改并存储到数据库中。因此,如果您的会话正在运行,您基本上可以制作漂亮的 HTML 表单并为您的角色设置更好的武器。

我试图用谷歌搜索与数据库通信的基本方法以及服务器如何安全工作的基本理论。没有简单的答案。

所以很快我的问题是,

java应用程序和数据库之间进行通信(读写)的安全和正确的方式是什么?

并且对于将来对 android 应用程序等做同样的事情。我很高兴你能给我一个正确的方向。

感谢您!

4

2 回答 2

3

空无一人。如果客户端可以通过任何方式从外部直接向服务器发出任意 SQL 查询,那么几乎没有任何保护措施可以阻止任何人对他们想要的数据库进行任何操作,包括SELECT * FROM usersDROP TABLE users.

您总是希望在外部世界和您的服务器组件之间有一个API,它定义了明确允许的操作并阻止其他任何操作。允许任意 SQL 查询基本上是一种 API,允许不受限制地访问数据库中的所有内容,这通常过于宽泛。

您通常执行此操作的方式是定义客户端可以执行的许多操作并通过 API(例如 REST API)公开它们。Java 客户端与此 API 对话,无论服务器幕后发生什么都无关紧要。这不是关于“与数据库交谈”,而是关于在服务器上做某些事情。这些东西的数量是并且应该是有限的。

于 2013-02-26T17:50:55.960 回答
0

看看这篇文章...

小程序能做什么和不能做什么

小程序的安全问题

于 2013-02-26T17:53:34.930 回答