Два типа пользователей посещают мой сайт: зарегистрированные пользователи и гости. Зарегистрированные пользователи отслеживаются и хранятся в сеансе PHP, в файлах cookie и в отдельных учетных записях. Гости, которых я считаю более хитрыми в управлении, поэтому я почти не даю полномочий вносить контент.
Я хочу открыть редактирование для пользователей (зарегистрированных или нет), чтобы сохранять избранное, корзины покупок, голосовать в опросах, модерировать, отмечать, загружать и комментировать. В то же время защитите данные от других незарегистрированных пользователей.
Какие существуют варианты или рекомендации для определения уникального посетителя от другого и какие меры безопасности следует учитывать при предоставлении им возможности вносить больший вклад? Должен ли я обойти их настройки безопасности / ограничений, чтобы предоставить услугу вклада, или я должен ожидать, что они встретятся посередине и ослабят некоторые из своих настроек, чтобы разрешить использование файлов cookie и т. Д.?
IP-адрес - IP-адрес является дополнительным, но только временным. Это может измениться для пользователя, повторно подключающегося к его Интернету с другим IP, и в этом отношении другой пользователь может в конечном счете разделить тот же IP. IP также может быть анонимным, общим или вводящим в заблуждение.
Сеансы PHP - ОК для сеанса (и если включен), но потерян при закрытии браузера.
Cookies - Может хранить данные сеанса, но легко (и часто) отключается со стороны клиента.
Данные заголовка - объединение известных сведений о том, что пользователь может, по крайней мере, группировать пользователей - интернет-провайдера, браузера, операционной системы, ссылающегося веб-сайта и т. Д.
Редактировать: Я все еще не могу разобраться во всех ключевых факторах, которые мы задействовали ... мы создали файл cookie для гостя. Приложите кучу правок и истории пользователей к этому сеансу. Если cookie удаляется, данные перемещаются, ничего не связывая, и пользователь теряет свои данные. Или, если пользователь входит в систему, данные гостя и пользователя должны быть объединены ...