1

I am planning on hosting a little tournament.

The competitors will each provide a Java class implementing an interface which will accept a GameState for Connect Four, and return a move.

How do I prevent a team from finding the other team's class(via reflection) and messing with their methods to fight an easy opponent?

4

2 回答 2

7

这是一个非常棘手的问题,本质上类似于强加于Java 小程序的安全沙箱

Sun(以及现在的 Oracle)多年来一直试图做到这一点,但他们仍然没有成功

您应该假设任何运行的代码都可以绕过您的安全措施。如果您想让代码难以干扰其他正在运行的程序,您应该让对手通过套接字而不是进程内通信,并且可能在不同的虚拟机上运行它们。

于 2013-09-04T17:49:52.867 回答
0

根据这个问题,您至少可以设法在锦标赛仲裁程序中保持私有对象的安全。

于 2013-09-04T17:18:49.613 回答