0

我必须在将绑定到系统的网站中建立一个登录名。例如,用户只能通过他注册的机器登录。

我将无法通过 PHP 获取我可以与该登录名绑定的 mac id 或任何其他唯一标识符。我已经在共享主机上托管了网站,所以我无法安装任何新库。标准库可用。

让我知道是否有最好的方法来做同样的事情。

4

1 回答 1

0

根本没有机器的唯一ID。MAC 地址不会转换网络边界,IP 地址不是唯一且易变的。除此之外,您只有在 HTTP 标头中获得的内容,这也不是唯一的或永久的。

您能做的最好的事情就是在机器上设置一个不会过期的 cookie 并具有唯一的 id 并依赖它;即制作自己的身份证。当用户切换浏览器或机器或只是清理 cookie 存储时,这会产生问题,因此请确保您有针对这种情况的程序。Cookie 也可能被劫持,因此也要为此情况准备一个程序,并通过 SSL 安全连接处理一切,以尽量减少发生这种情况的可能性。

简而言之:依赖于用户物理机器的一切在网络上都是有问题的,因为网络被明确设计为与客户端无关。不能依赖机器 ID 来确保安全。使用唯一 cookie 注册机器可能是加强传统用户名/密码安全性的有用部分,但它不是替代品。

最好的方法通常是将您的安全性建立在传统的用户名/密码(如果可能的话加上第二因素身份验证)上,并使用唯一的 cookie 作为附加工具。例如,每次用户从未知机器登录时,您都需要一个电子邮件/SMS 反馈循环来“注册”该机器。

于 2013-08-26T11:12:54.367 回答