Сохранение данных сессии надежно в PHP

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

8
задан RobertPitt 14 July 2010 в 12:13
поделиться

5 ответов

Зависит от уровня доступа к файлу php.ini - если вы находитесь на общем хостинге, который запускает suPHP и позволяет вам иметь свой собственный файл php.ini (например), то вы можете просто установить session.save_path в путь типа ~/tmp вместо /tmp, который обычно является общим.

Начнем с того, что я не думаю, что вы можете читать данные php сессии из других приложений. Я считаю, что это нечто уникальное для того, кто их просматривает.

Наконец, данные сессии php сохраняются не только в файловой системе. Они также могут быть настроены на сохранение в cookie на машине пользователя, или вы можете настроить хранение данных сессии php в базе данных.

1
ответ дан 5 December 2019 в 17:33
поделиться

Используйте session_save_path () и измените папку сеанса, например "/ htdocs / storage / sessions". Теперь сеансы сохраняются только по указанному вами пути.

1
ответ дан 5 December 2019 в 17:33
поделиться

Вы можете переопределить обработчик сохранения сессии для вашего сценария, чтобы использовать что-то другое, кроме файловой системы, например, базу данных или memcache. Вот подробная реализация: http://phpsec.org/projects/guide/5.html

6
ответ дан 5 December 2019 в 17:33
поделиться

Напишите свою собственную оболочку SESSION.

Например, библиотека сеансов CodeIgniter не зависит от собственной библиотеки PHP и более безопасна:

Примечание: класс Session не использует собственные сеансы PHP. Он генерирует собственные данные сеанса, предлагая разработчикам большую гибкость.

1
ответ дан 5 December 2019 в 17:33
поделиться

Вы можете использовать session_save_path () , чтобы изменить каталог данных сеанса на тот, который не является общим.

1
ответ дан 5 December 2019 в 17:33
поделиться
Другие вопросы по тегам:

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