Каковы последствия использования 'низкой' безопасности в cakephp?

У меня была проблема аутентификации в cakephp при установке учетных данных с внешнего сайта, аутентификация будет работать, и затем сразу теряться, с запросом сайта данных для входа снова.

Этот парень решил, что cakephp сеансовые куки изменялись. Его решение состояло в том, чтобы установить безопасность на низко.

Походит в Пироге средней или высокой безопасности, делает двойную проверку на ссылающийся домен..., но с низкой безопасностью хорошо работает при нажатии на автора - защищенные ссылки с внешних сайтов как hotmail или Yahoo

Это решение также работало на меня, но что я теряю путем установки cakephp к 'низкой' безопасности?

7
задан Jack B Nimble 23 December 2009 в 17:42
поделиться

4 ответа

Когда безопасность высока, новый идентификатор сессии генерируется при каждом запросе. В этом случае практически невозможно создать единую регистрацию между двумя приложениями, разделив куки сессии, так как Cake будет постоянно менять идентификатор сессии, не уведомляя другое приложение.

Когда безопасность средняя (или выше), session.referer_check включен.

Когда безопасность низкая, у вас нет ни одной из вышеперечисленных функций, но она все равно так же безопасна, как и любой обычный PHP-сайт/CMS там.

.
7
ответ дан 7 December 2019 в 01:22
поделиться

При установке на «низкий»

происходит две вещи: 1) таймаут больше

2) если захват сеанса легок, то это будет проще! поскольку сеанс не обновляется между запросами, как если бы он был установлен на «высокий»!

и ничего больше.

кстати, вы можете изменить для конкретной страницы уровень безопасности или тайм-аут сеанса или и то, и другое ... так что это не отменять выбор

1
ответ дан 7 December 2019 в 01:22
поделиться

Я считаю, что единственное последствие установки этого значения на низкое - это то, что время сессии умножается на 300, а не на 10 или 100 для высокого и среднего соответственно, и сессия ссылается на проверку, с которой вы имеете дело.

Обновление: Если бы вы ранее установили этот параметр на высокий, вы бы также потеряли регенерацию сессионных идентификаторов между запросами

.
0
ответ дан 7 December 2019 в 01:22
поделиться

Главное, что я знаю о таймауте сессии, согласно комментариям app/config/core.php, в том, что таймаут вашей сессии будет умножен на меньшее число.

Книга поддерживает это,

Уровень безопасности CakePHP. Время таймаута сессии, определенное в 'Session.timeout' умножается в соответствии с настройками здесь. Действительные значения: "high" = x 10 "средний" = х 100 "низкий" = х 300 Высокий" и "средний" также позволяют включить сеанс.referer_check. ID сессии CakePHP также регенерируются между запросами, если 'Security.level' установлен на 'высокий'.

Ref: http://book.cakephp.org/view/44/CakePHP-Core-Configuration-Variables

Другая вещь выглядит как проверка реферера.

session.referer_check содержит подстроку, для которой вы хотите проверять каждый HTTP-референт. Если референт был послан клиентом и подстрока не была найдена, встроенный идентификатор сессии будет помечен как недействительный. По умолчанию это пустая строка.

Так что, судя по всему, вы теряете возможность точно определить, с кем и с какими сессиями вы имеете дело.

Я столкнулся с похожей проблемой с потерями сессий, и многие ответы указывали на использование $this->requestAction(), так как она, по сути, скручивает запрос из приложения, так что это может выглядеть, как будто создается другая сессия с высокой степенью безопасности.

Другая вещь, которую вырвало много ответов Google, это выключение Session.checkAgent в вашем приложении/config/core.php, так как это означало, что сессия не будет проверяться. Это, по крайней мере, предотвратило потерю информации о сеансе между запросами страниц.

:)

.
2
ответ дан 7 December 2019 в 01:22
поделиться
Другие вопросы по тегам:

Похожие вопросы: