Новости Joomla

Вышли релизы безопасности Joomla 5.3.4 и Joomla 4.4.14

Релиз безопасности Joomla 5.3.4

Проект Joomla спешит сообщить о выпуске Joomla 5.3.4 и Joomla 4.4.14. Это релиз безопасности для серии Joomla 5.3 и релиз безопасности для серии Joomla 4.4.

0 Пользователей и 1 Гость просматривают эту тему.
  • 6 Ответов
  • 1360 Просмотров
*

Shad-777

  • Осваиваюсь на форуме
  • 39
  • 0 / 0
Появилась необходимость сохранять данные клиента в браузере для самого клиента (то есть куками) после оформления заказа и без регистрации. То есть чтобы клиент оформил заказ, через неделю вернулся на сайт, оформил новый, а при оформлении все его данные уже были подставлены в форму оформления заказа и оставалось только нажать на кнопку. Сейчас это работает только в том случае, если с прошлого посещения сайта клиент не закрывал браузер. После закрытия браузера эти куки удаляются. Кто-нибудь знает способ как продлить срок жизни нужных cookie?
*

NewUsers

  • Живу я здесь
  • 2310
  • 216 / 0
  • +375 (25) 627-16-99 (WhatsApp, Telegram)
Тогда уже лучше использовать LocalStorage
Занимаюсь создание расширений для Joomla 4.2.x | Доработка и настройка сайтов. Занимаюсь создание Интернет магазинов с нуля на собственном компоненте + оптимизация загрузки страницы (после предоставляю техподдержку).
*

Shad-777

  • Осваиваюсь на форуме
  • 39
  • 0 / 0
Просто из коробки куки ) Этот механизм не я делал, он был заложен разработчикам. Хочется просто продлить время жизни существующих кук.
*

sivers

  • Живу я здесь
  • 2593
  • 360 / 0
Кто-нибудь знает способ как продлить срок жизни нужных cookie?
Достаточно хранить одну куку с зашифрованным ИДом последнего заказа (для исключения перебора ИДов).
Время жизни куки задается 3-м параметром команды setcookie:
https://www.php.net/setcookie
При этом указывается конкретная дата/время, когда кука должна закончиться, например:
Код
$hash = sha1($order->id.':'.microtime(1));
setcookie('last_order', $hash, time()+30*24*60*60, '/');
Сперва шифруется ИД заказа (эту строку надо и в сам заказ сохранить, чтоб потом найти его). И его же пишете в куку, которая будет жить 30 суток и будет доступна с любой страницы сайта (четвертый параметр).
Когда юзер зайдет снова - проверяете у него существование этой куки, если найдена - вытаскиваете его последний заказ и из него берете данные, которые ввел тогда.
Когда создаст новый заказ - обновляете куку.
В итоге вы у юзера храните всего 40 символов текста и не храните ничего лишнего у себя.
На связи в telegram @sivers
sivers @ inbox . ru
https://sivers.su/
*

sivers

  • Живу я здесь
  • 2593
  • 360 / 0
Хочется просто продлить время жизни существующих кук.
Скорее всего это кука для хранения сессии. Она автоматически увеличится, если продлить время жизни сессий. Но лучше так не делать - может резко вырасти объем таблицы сессий в БД (или на диске - смотря где храните) и считается, что это небезопасно.
На связи в telegram @sivers
sivers @ inbox . ru
https://sivers.su/
*

Shad-777

  • Осваиваюсь на форуме
  • 39
  • 0 / 0
Понял, большое спасибо, дальше разберусь )
*

dm-krv

  • Завсегдатай
  • 1028
  • 28 / 0
Я бы вообще не стал в куках хранить заказы, мало того что у них всегда есть срок, так еще и различные (антивирусы / ускорители ПК / блокировщики рекламы) любят их чистить, как по поводу, так и без. Лучший вариант, в наш век передовых технологий, это встроенная база IndexedDB. Можно хранить что угодно: блобы, файлы, объекты, строки и много-чего другого.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться