2012-04-12 3 views
0

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

Спасибо!

ответ

1

Существует два варианта: Cookies и сеансы

Правило большого пальца: не доверяйте пользовательскому вводу. Файлы cookie - это вход пользователя, идентификаторы сеансов, которые хранятся в файлах cookie, являются пользовательскими вводами, заголовки HTTP - это пользовательский ввод - эти вещи должны быть проверены втрое для каждой возможной вещи. Сессионные данные, с другой стороны, хранятся на вашем сервере, поэтому они более или менее безопасны, если не хранить ed in/tmp.

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

Если вы установили переменную сеанса, пользователь не может напрямую изменить ее, если они не захватят другой файл cookie сеанса.

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

Следует также отметить, что данные cookie также не являются безопасными. На него не следует полагаться так же, как на данные формы не следует полагаться (независимо от того, какая проверка клиента говорит вам).

Ваши лучшие практики с паролями являются:

  • Храните пароль в базе данных в виде хэшированном, предпочтительно SHA1 (первый выбор) или MD5 (второй выбор);
  • Когда вы получаете пароль пользователя, зашифруйте его и проверьте его на предмет того, что хранится в базе данных;
  • Задайте имя пользователя в пользовательской сессии;
  • Срок действия файла cookie через некоторый период (даже если его дни), а не навсегда; и
  • Используйте безопасное соединение (HTTPS, а не HTTP), где это возможно. SSL-сертификаты дешевы.
+0

Думаю, я это понимаю. Поэтому я бы: -> У пользователя есть логин. -> Когда они запишут их имя пользователя в сеансе. -> Сохраните сеанс в файле cookie с истечением срока действия. -> Когда я перехожу от страницы к странице, получаю доступ к файлу cookie и сеансу, чтобы получить информацию о пользователе. – NSchulze

1

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

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