Безопасные файлы cookie предотвращают вход в систему в PHP / Zend

#php #zend-framework #session #cookies

#php #zend-framework #сессия #файлы cookie

Вопрос:

Кто-нибудь использовал директиву session.cookie_secure при использовании Zend_Captcha_Image? При включении каждый раз, когда я пытаюсь войти в систему, происходит сбой. По сути, каждый запрос обрабатывается как новый сеанс, поэтому проверка captcha не выполняется, даже если я ввожу ее правильно. Я использую Zend_Captcha_Image в течение нескольких месяцев без каких-либо проблем, и когда директива session.cookie_secure удалена, она работает нормально.

Я попытался просто использовать директиву session.cookie_secure в файле php.ini. (сейчас я делаю это не так, но я включил это здесь, чтобы вы знали).

В настоящее время я вызываю Zend_Session::setOptions(array('cookie_httponly' => true, 'cookie_secure' => true )); загрузчик приложения. Я включил и выключил resources.session.cookie_secure = true безрезультатно.

У кого-нибудь есть какие-либо идеи?

Комментарии:

1. Почему это должно работать, когда вы добавляете session.cookie_secure директиву непосредственно в php.ini? Вы читали, какие параметры по умолчанию Zend_Session::start() используются на официальной странице руководства ?

2. PHP.ini —> Я не помню точный синтаксис. Я хочу сказать, что когда я включаю безопасные файлы cookie в php.ini, я получаю те же результаты. Да, я прочитал руководство.

3. Хорошо, в этом случае вам нужно получить настройки файлов cookie из вашего php.ini с помощью session_get_cookie_params и установить их Zend_Session::setOptions() в вашем файле начальной загрузки. Я предполагаю, что домен и / или путь в вашем php.ini и конфигурации Zend_Session отличаются.

4. Вы переходите на https, верно?

Ответ №1:

cookie_secure Настройка работает только через SSL. Не устанавливайте его, если у вас не включен SSL с сертификатом на вашем сервере. Обычно вы включаете это для использования на рабочем сайте и отключаете на серверах разработки.