我有一个想法来实现一个帐户系统使用电子邮件和密码的游戏。我打算在网页上创建账户,忘记密码系统。因此,如果用户必须访问网页才能访问这些功能。用户将在游戏中使用这些细节登录。
对于帐户创建和忘记密码,我正在考虑设置在我的网页服务器。而帐户数据库将与游戏服务器一起存储,而游戏服务器也将承载帐户的脚本。
我认为如果我将游戏服务器脚本路径放在HTML表单中,用户将能够知道我的游戏服务器的位置。因此,对于想要黑我的服务器的用户来说,就会知道这个位置。我在想,如果表单指向我的web服务器中的一个脚本,那么该脚本将把数据发送到我的游戏服务器脚本。这是否意味着只有当我的网络服务器被黑客攻击时,游戏服务器才会被包含?
关于用户的电子邮件和密码,我知道用纯文本存储密码不是一种好方法。推荐的方法是使用散列和盐分对其进行加密。我想知道加密和盐碱化应该发生在客户端(HTML)还是服务器端(脚本在游戏服务器)?
如果这种情况发生在游戏服务器上,我将不得不用纯文本发送密码,不是吗?或者,我可以使用MD5或SHA-1或SHA-256(等等)散列密码。在客户端,并在服务器端接收散列密码,并在游戏服务器上执行第二轮哈希和盐渍?
我在这个问题中想要了解的是,对于我的用户和我的服务器来说,这种身份验证方法的安全性如何。
发布于 2014-06-14 02:27:21
目前的最新情况如下:
请记住,如果游戏服务器是由游戏直接联系的,则所有这些都不会隐藏游戏服务器对用户的位置,因为用户随后可以从来自游戏客户端的连接中找到游戏服务器。
发布于 2014-06-14 05:13:32
我想您应该有一个服务器集群,而不是一个服务器,以支持您的游戏在服务器端。在这种情况下,您将在客户端为表单提供集群名称或IP地址。如果您能够在路由器/集群级别实现足够强的安全性,破解者将无法进入单个服务器。
https://security.stackexchange.com/questions/61005
复制相似问题