Pro*_*tic 7 php symfony doctrine-orm
我目前正在开发一个Symfony2应用程序,该应用程序不仅接受用户注册,而且允许访问者在不创建帐户或登录的情况下完成整个站点的整个流程.设计思想看起来像这样(建议/改进)欢迎):
USER_<session_id>
标识符而不是个性化用户名之类的东西.他们在网站上执行的任何活动都会持久保存到此匿名用户实体最好的方法是什么?具体来说,什么被认为是为匿名用户创建/操作用户实体而不必将代码放入每个控制器的"最佳实践"?
我建议不要为此使用IP地址,因为它可能给NAT后的用户带来麻烦。使用自定义cookie或sessionId(PHPSESSID)cookie作为用于跟踪目的的标识符将是一个更好的主意。Google将这种策略用于其广告业务。站在巨人的肩膀上!
我有类似的事情我必须做。我所做的是收集匿名用户的 IP 地址(使用 ($_SERVER['REMOTE_ADDR']))。然后我使用该 IP 地址进行跟踪。然后,您可以在他们注册时使用它,将过去的使用情况附加到新创建的帐户中。
然后,您可以运行一个简单的查询来删除一段时间内没有活动的任何 IP 地址(大多数用户都有动态 IP 地址,因此无论如何它都会经常更改)。