2015-04-26 4 views
1

Мне просто интересно, для PHP-сессии было бы предпочтительнее хранить переменную сеанса, содержащую зарегистрированный идентификатор пользователя или имя пользователя?PHP - Сохранение имени пользователя или идентификатора сеанса предпочтительнее?

В настоящее время он хранит имя пользователя, в то время как идентификатор будет более безопасным, потому что потенциальным «хакерам» они могут не знать, к какому пользователю относится идентификатор?

+1

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

+0

@ Devon это тоже мое мнение. Я использовал имена пользователей навсегда, однако недавно мне пришло в голову, что идентификаторы легче работать. – zuc0001

+1

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

ответ

2

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

Это означает, что невозможно, без доступа к вашему серверу, для тех, кто слушает по сети, чтобы выяснить, что на самом деле означает cookie сеанса. Им понадобится таблица, хранящаяся на вашем сервере. Так что неважно, сохраняете ли вы идентификационный номер или имя пользователя в сеансе: если у них достаточно доступа, чтобы посмотреть, что находится в сеансе, тогда они, возможно, просто будут искать имя пользователя на основе идентификационного номера.

+0

Спасибо за понимание. Очень полезно :-) – zuc0001

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