Страница входа MySQL PHP - PullRequest
       3

Страница входа MySQL PHP

3 голосов
/ 23 декабря 2011

У меня есть база данных, содержащая имена пользователей и пароли ... Я могу понять, как проверить, вводили ли пользователь действительные имя пользователя и пароль, когда они нажимают кнопку входа в систему, но как я могу держать их вошедшими в систему в течение периодов времени ... Например, я должен входить в Facebook только раз в 4 месяца. Я предполагаю, что куки имеют какое-то отношение к этому? У кого-нибудь есть совет или ясность мысли, чтобы предложить? Я не хочу, чтобы мои пользователи входили в систему каждый раз, когда они пытаются просмотреть страницу :) ахха!

Ответы [ 3 ]

4 голосов
/ 23 декабря 2011

Как только пользователь вводит свое имя пользователя и пароль в форму на вашем сайте, проверьте правильность имени пользователя и пароля, а затем установите данные $_SESSION для идентификатора пользователя для начинающих.Затем при загрузке страницы проверьте, установлены ли данные $_SESSION или нет, и если это так, то пользователь вошел в систему.

Кроме того, если вы храните пароли, вы должны хешируйте их, солите их и храните хешированные пароли.

Некоторые ссылки и руководства по хешированию

http://phpsec.org/articles/2005/password-hashing.html

http://seanmonstar.com/post/707158385/a-basic-lesson-in-password-hashing

http://net.tutsplus.com/tutorials/php/understanding-hash-functions-and-keeping-passwords-safe/

http://www.codinghorror.com/blog/2007/09/rainbow-hash-cracking.html

http://www.codinghorror.com/blog/2009/05/i-just-logged-in-as-you-how-it-happened.html (прочитайте материал codinghorror.com. Очень хорошо написано)

3 голосов
/ 23 декабря 2011

Да.Как вы и предполагали, куки - лучший вариант.Держать сеанс в течение длительного периода не очень хорошая идея.

Вы можете хранить информацию пользователя в файлах cookie.Для большей безопасности вы можете зашифровать их перед сохранением.Может быть с base64_decode ()

В качестве примера см. Ниже код.

setcookie("USER",$userName,time()+ (3600 * 24 * 30 * 4));
setcookie("PWD", base64_encode($password),time()+ (3600 * 24 * 30 * 4));

Удачи.

Прасад

3 голосов
/ 23 декабря 2011

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

http://php.net/manual/en/features.cookies.php

http://php.net/manual/en/features.sessions.php

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