Я разрабатываю веб-сайт, на котором пользователи могут регистрироваться и получать доступ к своим учетным записям, а когда пользователь подключен, я сохраняю объект User в cookie с использованием кодирования serialization и base64. Он работал отлично, с шумом PHP-скрипт не хочет создавать cookie. Мой PHP скрипт:PHP Хранение объекта в cookie не работает
/**
* Function that creates a cookie from an User object
* @param User $user User object to be stored in the cookie
* @param int $timeout Lifetime of the cookie (0 if should be destroyed when the navigator is closed)
*/
function setUserCookie($user, $timeout = COOKIE_MAXLIFETIME) {
setcookie('user', base64_encode(serialize($user)), $timeout, '/');
}
Я не знаю, где эта проблема исходит от, я надеюсь, что кто-то мне поможет :)
EDIT: Это проект для университета, я «Я знаю, что мой сайт может быть уязвим при сохранении объекта в cookie, но мы должны сосредоточиться на функциональности, а не на безопасности веб-сайта.
Пользователь может изменить файл cookie и войти в систему как кто-либо еще. – SLaks
Не делайте этого. Храните пользователя в сеансе, что значительно упрощает и экономит подход. – Pierre
Хорошо, я меняю свой код на сеанс. Но есть ли более чистый способ, чем файлы cookie, чтобы сохранить пользователя после закрытия навигатора? –