如何在不强制用户注册的情况下对用户进行身份验证?

时间:2012-03-14 08:18:30

标签: php

我想创建一个我想到的网站,但我不想让用户注册。相反,我想要一些可以使用PHP检索的唯一ID。这个唯一的ID可以与他们正在使用的网络或他们的计算机一起使用。

我想到的一个想法是让用户使用HWID并使用它。那可能吗?

有人能否告诉我这样做的优点和缺点,还有一些我可以使用的例子?

1 个答案:

答案 0 :(得分:4)

您所描述的内容与PHP会话非常相似。为用户提供唯一ID,并在服务器端为唯一ID分配变量(以$_SESSION超全局的形式)。然后,用户将为每个请求发送唯一ID(无论是cookie还是get变量),PHP将获取变量并设置正确的$_SESSION数组。

这在安全性方面存在一些问题。会话ID可能被盗(例如,在不安全的WiFi上),然后服务器将错误地将攻击者识别为受害者(在管理和访问受限的情况下,这是有问题的)。没有什么比保护区域更好的用户名/密码组合了。

如果没有存储敏感信息,那么会话就是一个非常好的解决方案。

<强> See the PHP manual about sessions.


您应该注意,如果用户将擦除他的cookie(如果会话ID通过cookie传输),或者从变量中清除URL(如果是GET变量),则会话将过期,并且用户将不再被承认。服务器无法绝对识别客户端。如果用户格式化/切换计算机怎么办?或者如果他希望从另一台计算机上使用您的服务怎么办?如果是这种情况,那么您想使用注册和登录系统。