Некорректное поведение кэша сайта?
У меня есть переменная auth которая по умолчанию false (Строка 34). Далее идёт проверка на авторизацию и запись данных в cookie: https://github.com/EngineGPDev/EngineGP/blob/main/...
После авторизации, некоторые разделы на сайте остаются не авторизованными и решается это очисткой cookie файлов каждой страницы индивидуально. После того как посылается команда на удаление cookie, ситуация схожая, пользователь авторизован пока не почистит их на каждой странице.
Прикрепляю видеоролик с проблемой
Там где звук корзины - происходит очистка cookie
https://youtu.be/XPL1Wsqvy14
Полностью меняли cookie, проблема не решилась.
Backend: php 8.0
Frontend: Apache + NGINX в режиме FastCGI
Можете ткнуть носом? Исходники на GitHub:
https://github.com/EngineGPDev/EngineGP
Проверка происходит в файле: https://github.com/EngineGPDev/EngineGP/blob/main/... (Строки 34 - 77). Подключена библиотека Cookie в файле: https://github.com/EngineGPDev/EngineGP/blob/main/... (Строки 433 - 439). Авторизация происходит через файл auth.php: https://github.com/EngineGPDev/EngineGP/blob/main/...
Дополнительно:
Ответы:
Я тут ради интереса глянул первый файл в гите. Увидел что у вас логин пароль и хэш лежит в куках. Понял что в принципе смысла дальше что-либо смотреть нет.
На случай если вы что-то конкретное будете спрашивать, а не приводить юзекейсы и простыни кода на гитхабе в купе с роликами на ютубе:
Определите проблему с точностью до куска кода, помещающегося в 10-20 строк.
Опишите что должно быть и что получается
По необходимости дайте дампы переменных или уточните запрашиваемые детали.
По коду - ваш велосипед с авторизацией выглядит как очень квадратноколесый, чем это обусловлено - не понятно, то ли намеренная попытка изобрести что-то не такое как у всех, либо недостатком знаний и заменой их на собственные измышления. Так же, обратите внимание на запросы, которые у вас параметризуются напрямую из переменных, рекомендую завести привычку все запросы выполнять через подготовленные выражения.
Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.
Пока нет других ответов. Будьте первым, кто поможет автору.
Ответить на вопрос
Проблемы с кэшем сайта могут возникать по разным причинам, и решение зависит от конкретного случая. Вот несколько шагов, которые можно предпринять для решения проблемы:
1. Очистка кэша браузера: иногда проблемы могут быть связаны с кэшем браузера, который хранит данные о посещенных сайтах. Очистка кэша браузера может помочь решить проблему. В большинстве браузеров это можно сделать через настройки или используя комбинацию клавиш Ctrl + Shift + Delete.
2. Перезагрузка страницы: иногда проблема может быть связана с тем, что страница была загружена из кэша, а не с сервера. Попробуйте перезагрузить страницу, нажав клавишу F5 или Ctrl + R.
3. Изменение настроек кэширования на сервере: если вы веб-разработчик и у вас есть доступ к серверу, вы можете попробовать изменить настройки кэширования на сервере. Например, вы можете настроить HTTP-заголовки кэширования или использовать специальные инструменты для управления кэшем.
4. Использование версионирования файлов: если проблема связана с кэшированием статических файлов (например, CSS, JavaScript), вы можете использовать версионирование файлов. Это позволяет браузерам загружать новые версии файлов, даже если они кэшированы.
Пример кода на PHP для управления кэшем:
// Отключение кэширования header("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1 header("Expires: Sat, 26 Jul 1997 05:00:00 GMT"); // Дата в прошлом // Установка заголовков для кэширования на определенное время $expires = 60 * 60 * 24 * 30; // 30 дней header("Cache-Control: max-age=$expires"); header("Expires: " . gmdate("D, d M Y H:i:s", time() + $expires) . " GMT");
Надеюсь, эти рекомендации помогут вам решить проблему с кэшем сайта. Если проблема остается, пожалуйста, предоставьте дополнительные детали, чтобы мы могли помочь вам более точно.