Сессии и cookie

У меня в настоящее время есть веб-сайт, который позволяет моим посетителям входить в систему с помощью простого сценария, который я вставил вместе и записал. В настоящее время я только использую сессии для хранения посетителей зарегистрированными. Там какие-либо преимущества к добавляющим cookie к моему веб-сайту для хранения зарегистрированного состояния пользователя?

Или есть ли в целом лучший путь?

использование PHP

5
задан Derek 23 May 2010 в 21:43
поделиться

3 ответа

@Ramiro Gonzalez Maciel, он сказал, что создал этот сценарий, ему не нужны фреймворки, чтобы брать их в качестве примеров. Фреймворки обычно содержат хорошо обернутые сценарии.

Чтобы ответить на этот вопрос:

Я обычно сохраняю в cookie несколько строк md5, которые объединены из его md5 (пароля) и его имени пользователя, поэтому я буду знать, что в следующий раз он войдет на мой веб-сайт, на котором был выполнен вход, поэтому я бы не стал не заставляю его снова входить в систему

мой пример:

<?php
    $username = $_POST['username'];
    $password = $_POST['password'];
    // sql and escape stuff witch will return 1 if he has entered a valid login
    if($sqlreturn == 1){
       // do login
       $wraplogin = md5($username."-".md5($password)."-".SECRET_KEY); // I always define a define('SECRET_KEY', 'mysecretkey'); in global file.
       // now you can store that $wraplogin in cookies and remember his login. Next time he enters the website, you read that cookie, compare it with what you have in your database and let him in.
    }
?>

Теперь я знаю, что это не лучший пример, но я лично использовал его на очень больших веб-сайтах (> 500 000 пользователей), и ни один из них еще не взломан :)

Это преимущество файлов cookie для входа в систему.

Удачи.

3
ответ дан 14 December 2019 в 04:31
поделиться

Если вы используете сеансы PHP, вы используете файлы cookie. PHP хранит идентификатор сеанса в файлах cookie, а данные сеанса - в файле на диске на вашем веб-сервере.

4
ответ дан 14 December 2019 в 04:31
поделиться

Веб-фреймворки (сервлеты Java и другие) обычно используют файлы cookie для идентификации сеансов; другой обычный вариант - параметры URL. Итак, если вы используете какую-либо веб-платформу, она, вероятно, уже использует файлы cookie для хранения идентификатора сеанса. Web Framework будет использовать этот идентификатор для идентификации объекта сеанса в каждом запросе. Хотя файлы cookie сохраняются после перезапуска сервера, поскольку они хранятся в браузере, объекты сеанса обычно не сохраняются, если вы не настроили постоянство сеанса.

Если вы хотите, чтобы пользователи выполняли «автоматический вход», как в обычном варианте «вспомни меня», реализуемом на многих веб-сайтах, вам придется сохранять объекты сеанса, если ваша структура это обеспечивает. Или реализовать аналогичную систему, используя файлы cookie для хранения «токена входа в систему» ​​и проверяя этот токен, когда пользователь обращается к системе, чтобы автоматически регистрировать их или отправлять их на страницу входа. (Изменить: как предлагает Михай в другом ответе)

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

1
ответ дан 14 December 2019 в 04:31
поделиться
Другие вопросы по тегам:

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