我的 Web 应用程序中有一个User
类,它代表当前登录的用户。每次用户访问页面时,User
都会根据 cookie 中提供的身份验证数据填充一个实例。
User
即使匿名用户登录,也会创建一个实例 - 并User
在数据库的表中创建相应的新记录。
这种方法允许我为当前用户保存一些状态信息,无论其类型如何。
然而,这种方法的问题在于 Google 机器人和其他非人类网络生物正在爬取我的页面。每次机器人开始在网站上四处走动时,都会在数据库中创建数千条无用的记录,每条记录仅用于单个页面。
问题:最好的权衡是什么?如何支持匿名用户,保存他们的状态,并且不会因为 cookieless 机器人而获得太多开销?