Конкретные конфигурации поддомена.Браузер, Кэш, Куки, Токен CSRF - PullRequest
0 голосов
/ 20 июня 2019

На Laravel 5.5 + Apache + MariaDB у нас есть корпоративная система, которая разделяет аутентифицированных пользователей и публичных пользователей. Эти два URL находятся в одном домене с дополнительным поддоменом к нему. Каждый поддомен имеет отдельный экземпляр Laravel 5.5. Оба этих поддомена ДОЛЖНЫ иметь отдельный app_key, db_database и несколько других параметров из файла .env.

Теперь, если я открою оба этих субдомена в одном браузере на двух разных вкладках, одна из них обязательно выйдет из строя и выдаст whoops unserialize (): ошибка со смещением 0 из 40 байтов

Причина в том, что переменные .env переходят в суперглобальный PHP и XSRF-TOKEN, где имена файлов cookie конфликтуют.

  • Я пытался использовать разные переменные env, но все равно не получилось.
  • Tried Session.php - "same_site" => "strict", Не повезло
  • Публичный сайт не может отключить X-CSRF
  • Пытался переименовать имена файлов cookie в laravel, не повезло.
  • php artisan key:generate - Попробовал, на другом поддомене происходит сбой при сбое шифрования.
  • VerifyCsrfToken.php исключить не будет работать, потому что ядро ​​laravel загружает EncryptCookies::class сначала и VerifyCsrfToken::class позже
  • Эта проблема не существует на php artisan serve, потому что логически, для поддоменов мы запускаем два экземпляра ремесленника, они никогда не конфликтуют

ОБНОВЛЕНИЕ: Перед тем, как отмечать дубликаты и публиковать URL-адреса, просьба прочитать вопрос. Я не думаю, что у меня остался непрочитанный URL. :):)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...