2010-10-19 2 views
3

У меня есть 2 серверов, работающие, один для динамического контента (Nginx, PHP) и другого для входа в системе (apache2, PHP)PHP зашифрованы данные сеанса SSL

я использовать кэш память для обмена информации о сеансе

я модернизировал программное обеспечение сервера и с тех пор данные сеанса в апаче шифруются

апач:
сессия :: записи («сессия/s53mqdhghmlrvnvjt05novt4m2», «зашифрован-данные», 0,1440)

Nginx:
сессии :: записи ("сессия/s53mqdhghmlrvnvjt05novt4m2", "тест | я: 1;", 0,1440)

на обоих серверах сеансовых-идентификаторы являются одинаковыми, и куки сессии еще проходит SESSIONID так, что все еще работает, как он должен

оба сервера используют точно такой же php.ini

я заглянула в Ssl конф, но я не смог найти ничего, что бы установить данные сессии будут зашифрованы

Кто-нибудь знает, где я могу остановить сеанс данные шифруются на Apache/mod_ssl

редактировать:
хорошо я нашел рабочий гуманного, но я до сих пор havnt нашел Origion проблемы я знаю, что данные сеанса должен покинуть процесс PHP для шифрования с помощью mod_ssl , а обработчик сохранения сеанса вызывается в операциях очистки php после завершения скрипта.
Но ничего подобного не зафиксировано в документах.

гуманные есть, на данный момент, чтобы не сохранять данные, предоставляемые PHP на сессии :: писать, а использовать session_encode() для генерации хэша сессии снова и сохранить этот

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

+0

Зашифровано, как именно? –

+0

с ssl-шифрованием от mod_ssl, вот почему я не включил зашифрованные данные –

ответ

0

Данные сеанса хранятся на сервере, а не внутри файла cookie сеанса. Если вы прочитаете файл cookie, вы увидите, что это всего лишь строка символов, содержащая идентификатор. По умолчанию (и просто ставится) PHP хранит данные сеанса, сериализуя массив $ _SESSION и записывая его в файл. Я не совсем уверен, что вы пытаетесь сделать, это делиться информацией о сеансе в разных средах. Поскольку вы упомянули memcached, просто перепишите функции обработки сеанса для чтения и записи в/из memcached. Поскольку вы будете контролировать способ хранения данных, вы можете хранить зашифрованные данные или нет. Вот ссылка о сессии handeling Funcitons:

http://us3.php.net/manual/en/book.session.php

+0

. Я переопределил обработку сеанса в php и зарегистрировал класс сеанса для этого, этот класс записывает и считывает данные в/из кластера memcache, проблема заключается в том, что данные сеанса для записи (так что это после завершения процесса или после вызова session_write_close), который поступает из php, является _allready_ зашифрованным. –

3

Если модуль Suhosin загружен, как я сделал, это, вероятно, источником проблемы. Вы можете полностью отключить его или включить шифрование сеанса, установив suhosin.session.encrypt в файл suhosin ini.

+0

приятно теперь, что я искал, по крайней мере, это объясняет это. –

Смежные вопросы