我们如何在php中获得登录系统的macid或任何其他唯一标识符


How do we get the macid or any other unique identifier in php for the login system

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

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

让我知道是否有最好的方法可以做到这一点。

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

你能做的最好的事情就是在机器上设置一个具有唯一id的非过期cookie,并依赖于此;即制作自己的id。不过,当用户切换浏览器或机器或只是清理cookie存储时,这会产生问题,所以请确保为这种情况制定了相应的程序。Cookie也可能被劫持,因此也要为这种情况准备一个程序,并通过SSL安全连接进行所有交易,以最大限度地降低发生这种情况的可能性。

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

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