我正在开发一个不仅会接受的Symfony2应用程序 用户注册,但将允许访问者几乎通过 整个网站流程,无需创建帐户或登录。设计理念看起来像这样(建议/改进欢迎):
USER_<session_id>
作为标识符而不是个性化用户名。他们在网站上执行的任何活动都会持久保存到此匿名用户实体最好的方法是什么?具体来说,什么被认为是为匿名用户创建/操作用户实体而不必将代码放入每个控制器的“最佳实践”?
答案 0 :(得分:5)
我建议不要使用IP地址,因为这可能会给NAT后面的用户带来问题。 使用自定义cookie或sessionId(PHPSESSID)cookie作为跟踪目的的标识符将是一个更好的主意。 Google将此策略用于其广告业务。站在巨人的肩膀上!
答案 1 :(得分:0)
我有类似的东西,我必须这样做。我所做的是收集了匿名用户的ip地址(使用($ _SERVER ['REMOTE_ADDR']))。然后我使用ip地址进行跟踪。然后,您可以在注册时将其用于将其过去的使用情况附加到新创建的帐户中。
然后你可以运行一个简单的查询来丢弃任何一段时间没有活动的ip地址(大多数用户拥有动态ip地址,所以它会经常变化)。