Все работало нормально, пока мы не настроили контрольную точку.
Для контрольной точки у нас есть отдельный vpc в aws.
После этого эта ошибка началась случайно. Некоторые пользователи переключаются с другим пользователем. Пример, скажем, пользователь A вошел в приложение, и через некоторое время пользователь A внезапно сменил пользователя B. Это настолько случайно, что я не могу найти способ воспроизведения. Но конечные пользователи сообщают об этом периодически.
Мое приложение построено на Yii 1, и логическая механика проста. Сессия устанавливается, когда пользователь заходит на сайт.
<?php
return array(
'basePath' => dirname(__FILE__) . DIRECTORY_SEPARATOR . '..',
'name' => 'Project',
'defaultController' => 'site/login',
// application components
'components' => array(
'request' => array(
'enableCsrfValidation' => true,
'enableCookieValidation' => true,
'class' => 'HttpRequest',
'csrfTokenName' => '_csrf',
),
'session' => array(
'class' => 'CDbHttpSession',
'autoStart' => true,
'connectionID' => 'db',
'sessionTableName' => 'tbl_session',
'timeout' => 3600 * 24 * 30,
'autoCreateSessionTable' => false
),
'user' => array(
'allowAutoLogin' => true,
'authTimeout' => 3600 * 24 * 30,
),
::::::::::::::::::::::::::::::::::::::
//Other Stuff
::::::::::::::::::::::::::::::::::::::
),
);
Ниже приведен пример запроса:
Примечание. Я изменил URL-адреса на фиктивные.
URL запроса: https: //? [randomuniquestring] .access.project.com / index.php г = дом / индекс
Метод запроса: GET
Код статуса: 200
Удаленный адрес: 143.204. *****: 443
Политика реферера: no-referer-when-downgrade
: author: randomuniquestring.access.project.com
: метод: GET
: path: /index.php?r=home/index
: схема: https
принять: текст / html, приложение / xhtml + xml, приложение / xml; q = 0,9, изображение / webp, изображение / apng,/; Д = 0,8
принять кодировку: gzip, deflate, br
язык принятия: en-US, en; q = 0,9
контроль кеша: max-age = 0
cookie: selected_realm = ssl_vpn; _gcl_au = 1.1.997081439.1542180219; __qca = P0-2107182343-1542180221727; _ga = GA1.2.663976907.1542956670; ___ fnbDropDownState = 1; CPCVPN_BASE_HOST = .access.project.com; CPCVPN_OBSCURE_KEY = 6a97dc429cb24dafe51d5177d2e87218; _gid = GA1.2.33488363.1549271004; CPCVPN_SESSION_ID = 96c6835fb518aeefe7eb64e5767c730401e4f547; _gat = 1; CPCVPN_SDATA_VERSION = 2
реферер: https: // [randomuniquestring] .access.project.com / index.php?
запросы на обновление: 1
пользовательский агент: Mozilla / 5.0 (Windows NT 10.0; Win64; x64) AppleWebKit / 537.36 (KHTML, как Gecko) Chrome / 71.0.3578.98 Safari / 537.36
контроль кеша: нет хранилища, нет кэша, необходимо повторно проверить, пост-проверка = 0, предварительная проверка = 0
длина контента: 0
Тип контента: текст / HTML; кодировка = UTF-8
дата: чт, 07 фев. 2019 10:38:55 GMT
истекает: четверг, 19 ноября 1981 года, 08:52:00 по Гринвичу
место нахождения: https: //? [randomuniquestring] .access.project.com / г = дом / индекс
прагма: без кеша
сервер: CPWS
set-cookie: CPCVPN_SDATA_VERSION = 2; Путь = /; обеспечения; HttpOnly;
статус: 302
строгая транспортная безопасность: максимальный возраст = 1261440000; IncludeSubdomains
варьироваться: пользователь-агент
через: 1.1 [randomuniquestring] .cloudfront.net (CloudFront)
x-amz-cf-id: lWZ0rvOKiPO5FhJk6oPqdTchfzzsrTlb6du1DD6rNaOQZDSL1cGlcw ==
x-cache: мисс из облачного фронта
x-frame-options: SAMEORIGIN
x-frame-options: SAMEORIGIN
Я должен отослать этот вопрос: Обмен сессией PHP cookie-баз в phorum но не нашел никакого решения.
Так есть ли способ найти основную причину этого и как решить эту?
Для контрольной точки у нас есть отдельный vpc в aws.
Этот vpc содержит ссылку и другое перенесенное приложение
Задача ещё не решена.
Других решений пока нет …