Я пишу код для своего собственного сайта в качестве учебного / веселого упражнения. Прямо сейчас частью веб-сайта является блог (как и любой другой сайт: - /), который поддерживает обычные базовые функции блога, включая комментирование сообщений. Но у меня есть комментарии только для зарегистрированных пользователей; Я хочу изменить код, чтобы разрешить анонимные комментарии, то есть разрешить людям публиковать комментарии без предварительного создания учетной записи пользователя на моем сайте, хотя для предотвращения спама по-прежнему будет использоваться какая-то аутентификация.
Вопрос: какую информацию я должен сохранить для анонимных комментариев? Я думаю, по крайней мере, отображать имя и адрес электронной почты (для отображения 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
Стоит ли добавлять дополнительные поля для имени, адреса электронной почты и т. Д. В таблицу комментариев? (кажется плохой идеей) Создать новую таблицу "анонимных пользователей"? (и если да, как не допустить конфликта идентификаторов анонимных пользователей с идентификаторами обычных пользователей) Или создать поддельные учетные записи анонимных пользователей в моей таблице существующих пользователей?
Часть того, что делает это сложным, заключается в том, что если кто-то пытается опубликовать анонимный комментарий, используя адрес электронной почты (или OpenID), который уже связан с учетной записью на моем сайте, я хотел бы поймать это и предложить им войти .