PHP - Сессии - Безопасность - PullRequest
3 голосов
/ 21 октября 2008

Насколько безопасны сессии php? Я планирую использовать родные сессии PHP для аутентификации пользователей. Могут ли пользователи изменять данные сеанса так, как они могут $ _POST и $ _GET data?

Ответы [ 2 ]

6 голосов
/ 21 октября 2008

Данные отправляются в сеанс только тогда, когда пользователь, как разработчик, вводит их в сеанс с помощью кода, который вы пишете. Поэтому сеансы так же безопасны, как и данные, которые вы им позволяете, и то, как вы доверяете этим данным и используете их. Кроме того, сеансы основаны на идентификаторе сеанса, который клиент использует для идентификации пользователя сеанса. Если кто-то похитит sessionID, он может эмулировать пользователя, у которого украли идентификатор сессии. Это может происходить при отсутствии связи по SSH. Поэтому не доверяйте идентификатору сеанса для идентификации пользователя (для важных вещей), если он не вошел в систему и идентификатор сеанса не был передан только в безопасном режиме.

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

Наконец, следите за атаками XSS. В Интернете есть несколько сообщений, объясняющих, как свести к минимуму заболеваемость XSS.

3 голосов
/ 21 октября 2008

Сеансы PHP так же безопасны, как cookie-файлы сеанса, предоставляемые пользователю. Все данные в сеансе хранятся на стороне сервера, поэтому пользователи не могут произвольно изменять их, кроме как с помощью любых функций, предоставляемых вашим сайтом. Однако файлы cookie сеанса PHP являются общей целью для атак между сайтами (XSS) и подделки межсайтовых запросов (CSRF). Точно так же сеансы - это хороший способ аутентификации пользователей, если вы знаете о потенциальных рисках.

Некоторые ссылки на Википедию:

CSRF

XSS

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...