Главное, что я знаю, это тайм-аут сеанса, согласно комментариям app / config / core.php, в котором тайм-аут сеанса будет умножен на меньшее число.
Книга подтверждает это,
Уровень безопасности CakePHP. Время ожидания сеанса, определенное в «Session.timeout», умножается в соответствии с настройками здесь.
Допустимые значения:
'высокий' = х 10
«средний» = х 100
«низкий» = х 300
'high' и 'medium' также включают session.referer_check
Идентификаторы сеанса CakePHP также генерируются между запросами, если для параметра «Security.level» задано значение «высокий».
Ссылка: http://book.cakephp.org/view/44/CakePHP-Core-Configuration-Variables
Так что другая вещь выглядит проверкой реферера.
session.referer_check содержит подстроку, которую вы хотите проверить для каждого HTTP Referer. Если клиент отправил Referer, а подстрока не была найдена, встроенный идентификатор сеанса будет помечен как недействительный. По умолчанию используется пустая строка.
Итак, судя по всему, вещи, которые вы теряете, - это способность точно определить, с кем и с какими сессиями вы имеете дело.
Я столкнулся с подобной проблемой потери сеансов, и во многих ответах указывалось на использование $ this-> requestAction (), так как это в основном вывело бы запрос из приложения, так что это может выглядеть как другой сеанс, созданный с высоким уровнем безопасности. .
Другая вещь, которую вывалили многие ответы Google, это отключение Session.checkAgent в вашем app / config / core.php, так как это означало, что сессия не будет проверяться. Это по крайней мере предотвратило потерю информации о сеансе между запросами страниц.
:)