我为自己的网站编写代码作为教育/有趣的练习。现在网站的一部分是一个博客(就像所有其他网站一样:-/),它支持通常的基本博客功能,包括评论帖子。但我只为登录用户启用了评论;我想更改代码以允许匿名评论 - 也就是说,我想允许人们在不首先在我的网站上创建用户帐户的情况下发表评论,尽管仍然需要某种身份验证来防止垃圾邮件。
问题:我应该为匿名评论保存哪些信息?我在想至少显示名称和电子邮件地址(用于显示 Gravatar),可能还有网站 URL,因为我最终也想接受 OpenID,但还有其他意义吗?
其他问题:我应该如何修改数据库来存储这些信息?我对评论表的架构目前是
comment_id smallint(5) // The unique comment ID
post_id smallint(5) // The ID of the post the comment was made on
user_id smallint(5) // The ID of the user account who made the comment
comment_subject varchar(128)
comment_date timestamp
comment_text text
我应该在评论表中添加姓名、电子邮件地址等其他字段吗?(似乎是个坏主意)创建一个新的“匿名用户”表?(如果是这样,如何防止匿名用户 ID 与常规用户 ID 冲突)或者在我现有的用户表中为匿名用户创建假用户帐户?
造成这种棘手的部分原因是,如果有人试图使用已与我网站上的帐户关联的电子邮件地址(或 OpenID)发表匿名评论,我想抓住它并提示他们登录。