我正在研究Java中的小游戏(使用JApplet),我想实现高分和成就。
我没有专门的服务器,因此我决定使用GoogleAppEngine存储播放器数据并生成高分和成就。我已经了解了如何在GoogleAppEngine上创建WebServices,但我对安全性有疑问......
我不希望没有穿孔的人来调用我的WS ...我可以实现什么样的安全性来阻止其他人使用这个WS,只有被认可的客户端(这是我的Applet)才能发布。
我的Applet可能会托管在我的个人网页上,WS将在GoogleAppEngine上运行。
提前致谢, 谢尔盖。
答案 0 :(得分:0)
由于人们不会直接点击你的GAE应用程序,谷歌登录和用户服务可能不是很有效......所以你可能想看看更传统的安全性。
有一种方法是使用applet中的私钥对所有请求进行签名,并使用GAE上的公钥进行检查。这种方式的问题是你必须将私钥保存在applet上,我猜测它可以被反向设计和被盗。
您还可以探索使用applet上的跨域安全限制...让applet回发到它所来自的服务器,让该服务器与GAE通过签名请求进行通信。
您还可以查看使用基于HTTP_REFERER的安全性 - 仅接受来自您的主机域的请求。