@Genri_Rus

Как более правильнее сохранять id в куках?

Есть id товаров

$id = 41, 90, 48
Проблема в том, что как перезаписывать $id в куках и можно ли ей сделать зашифрованный вид ?
setcookie("id", $id, time()+3600)
  • Вопрос задан
  • 151 просмотр
Решения вопроса 1
nokimaro
@nokimaro Куратор тега PHP
1. Шифровние имеет смысл если вы не хотите чтобы значение cookie могли подменить или подсмотреть. Для этого можно использовать https://www.php.net/openssl_encrypt или любую обёртку из гугла по запросу "PHP encrypt lib"
2. Хранить в виде строки. Учтите что максимальный размер данных для cookie обычно 4Кб (строка длиной 4тыс символов). Самый компактный вариант - строка с числами через разделитель. $id = "1,2,3,4,5"; или $id = "1|2|3|4|5";

- При шифровании длина строки будет выше чем исходная.
- Для удобства можно использовать json_encode(), это пригодится если с cookie так же надо будет работать через JS.

p.s. если предполагается хранить очень много id на клиенте, то предпочтительнее использовать localstorage который поддерживается всеми современными браузерами и не лимитирован 4кб https://caniuse.com/#search=localstorage
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы