Форум программистов, компьютерный форум, киберфорум
PHP: базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.54/13: Рейтинг темы: голосов - 13, средняя оценка - 4.54
 Аватар для rean1mator
84 / 84 / 1
Регистрация: 19.01.2011
Сообщений: 442

Авторизация в системе на сессиях+куках+БД

12.08.2013, 21:30. Показов 2906. Ответов 21

Студворк — интернет-сервис помощи студентам
Доброго времени суток!

Мне ни разу не доводилось делать формы авторизации. Рыскал по инету в поисках информации, но чего-то толкового найти не удалось. Все статьи, что находились оказывались 2004-2007 года.

Если у кого-то есть какой-либо актуальный на сегодняшний день материал по данной теме - дайте пожалуйста ссылочку или что-то ещё.

Заранее благодарю за помощь!
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
12.08.2013, 21:30
Ответы с готовыми решениями:

Безопасная авторизация на разных устройствах: что хранить в сессиях и куках?
Здравствуйте! Возник вопрос безопасной авторизации на разных устройствах. Вопрос состоит в том, что не могу определится что хранить...

Как хранить секретную информацию в куках как в сессиях?
Здравствуйте не знаете как хранить секретную информацию в куках как в сессиях? Например, хеш капчи, user id, token`ы от форм? Просто сессии...

Авторизация на сессиях
Ребяты, подскажите, пожалуйста идеологию авторизации на сессиях (без кук). Есть БД юзверей. В ней id, логин и пароль в md5 и или иже с...

21
 Аватар для Денис Н.
463 / 463 / 23
Регистрация: 17.08.2011
Сообщений: 1,488
12.08.2013, 21:39
Алгоритм есть?
0
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
 Аватар для KOPOJI
16844 / 6724 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
12.08.2013, 21:52
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
<?php
 
session_start();
 
if(isset($_GET['exit']))
{
    session_destroy();
    header('Location: ' . $_SERVER['PHP_SELF']);
    exit;
}
 
 
function checkInput(array $input)
{
    if( !isset($input['login']) || !isset($input['password']) || !is_scalar($input['login']) || !is_scalar($input['password']) )
        return false;
    
    $db = new PDO('mysql:host=HOST_NAME;dbname=DB_NAME', 'USERNAME', 'PASSWORD');
    $db->exec('SET NAMES "utf8"');
    
    $res = $db->prepare('SELECT COUNT(1) FROM `users` WHERE `login`=:login AND `password`=:pass');
    $res->execute(array(':login'=>$login, ':pass'=>$password));
    if($res)
        $row = $res->fetch(PDO::FETCH_NUM);
    return !empty($row[0]);
}
 
if(empty($_SESSION['login'])) : ?>
 
<form method="post">
    Login: <input type="text" name="loginForm[login]" placeholder="login"><br>
    Passwod: <input type="password" name="loginForm[password]" placeholder="password"><br>
    <input type="submit" value="Enter">
</form>
<br>
 
<?php else : ?>
Hello, <b><?php echo htmlspecialchars($_SESSION['login']); ?></b>!
<a href="?exit">Exit</a>
 
<?php
endif;
 
if( isset($_POST['loginForm']) && is_array($_POST['loginForm']) )
{
    if(checkInput($_POST['loginForm']))
    {
        $_SESSION['login'] = $_POST['loginForm']['login'];
        header('Location: ' . $_SERVER['PHP_SELF']);
        exit();
    }
    else
    {
        echo 'Неверный логин и/или пароль.';
    }
}
Добавлено через 2 минуты
а, забыл про саму таблицу..
SQL
1
2
3
4
5
6
DROP TABLE IF EXISTS `users`;
CREATE TABLE `users` (
    `user_id` INT(10) AUTO_INCREMENT PRIMARY KEY,
    `login` VARCHAR(255) NOT NULL,
    `password` VARCHAR(255) NOT NULL,
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci;
1
 Аватар для rean1mator
84 / 84 / 1
Регистрация: 19.01.2011
Сообщений: 442
12.08.2013, 22:06  [ТС]
KOPOJI, спасибо большое за пример алгоритма!
Как я понял, в данном алгоритме куки не используются и сессия будет уничтожена (в случае бездействия пользователя) через 30мин ?
0
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
 Аватар для KOPOJI
16844 / 6724 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
12.08.2013, 22:07
да, почти.. Через 24 минуты
0
 Аватар для rean1mator
84 / 84 / 1
Регистрация: 19.01.2011
Сообщений: 442
12.08.2013, 22:14  [ТС]
KOPOJI, а куки на сегодняшний день безопасно использовать для авторизации или лучше обойтись только сессиями+БД ?
0
 Аватар для SanychBY
39 / 46 / 3
Регистрация: 04.06.2013
Сообщений: 1,532
12.08.2013, 23:54
rean1mator, Кража куки
0
 Аватар для rean1mator
84 / 84 / 1
Регистрация: 19.01.2011
Сообщений: 442
13.08.2013, 00:18  [ТС]
SanychBY, т.е. использовать куки на сегодняшний день небезопасно.
Тогда вопрос, а как (хоть примерно) на крупных проектах, где требуется серьёзная защита, реализуют галку "запомнить меня" ?
0
 Аватар для SanychBY
39 / 46 / 3
Регистрация: 04.06.2013
Сообщений: 1,532
13.08.2013, 00:23
Цитата Сообщение от rean1mator Посмотреть сообщение
SanychBY, т.е. использовать куки на сегодняшний день небезопасно.
Тогда вопрос, а как (хоть примерно) на крупных проектах, где требуется серьёзная защита, реализуют галку "запомнить меня" ?
На чистой совести и знании пользователя о том, что переходить по странным ссылкам не безопасно + https помоет. Если брать сайты где идет работа с деньгами или кредитками, вебмани например, то там только сессии, а ели например вконтакте или фейсбук, то там ничего существенного ты не потеряешь если у тебя украдут куки, только морально напакостят , поэтому в последнем случаи безопасность приносится в жертву удобству.
1
 Аватар для rean1mator
84 / 84 / 1
Регистрация: 19.01.2011
Сообщений: 442
13.08.2013, 00:29  [ТС]
SanychBY, благодарю Вас за разъяснения

Буду думать про реализацию без куков
0
 Аватар для SanychBY
39 / 46 / 3
Регистрация: 04.06.2013
Сообщений: 1,532
13.08.2013, 00:33
rean1mator, рад помочь.
0
1 / 1 / 1
Регистрация: 18.09.2017
Сообщений: 153
02.02.2018, 20:42
Цитата Сообщение от rean1mator Посмотреть сообщение
Как я понял, в данном алгоритме куки не используются и сессия будет уничтожена (в случае бездействия пользователя) через 30мин ?
А вот я не понял , где в приведенном алгоритме установка на уничтожении сессии через 30 мин.?
Мучаюсь с тем что сессия висит и после закрытия браузера, хотя на сессионных куках написано что действуют до конца сессии
0
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
 Аватар для KOPOJI
16844 / 6724 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
03.02.2018, 14:00
http://php.net/manual/ru/sessi... axlifetime
только не 30 минут, а 24 по умолчанию (1440 секунд)
0
1 / 1 / 1
Регистрация: 18.09.2017
Сообщений: 153
04.02.2018, 13:16
Посмотрел в php.ini
стоит session.gc_maxlifetime = 3600
поменял ради интереса на 120, - как висели так и висят
0
Эксперт PHP
4925 / 3920 / 1620
Регистрация: 24.04.2014
Сообщений: 11,441
04.02.2018, 16:08
Цитата Сообщение от SergTN Посмотреть сообщение
стоит session.gc_maxlifetime = 3600
поменял ради интереса на 120, - как висели так и висят
Для начала нужно понимать что делает этот параметр и как работает механизм сессий в php
0
1 / 1 / 1
Регистрация: 18.09.2017
Сообщений: 153
09.02.2018, 19:59
Так разве нормально что они висят по несколько дней, хотя параметры задают время в масштабе минут?
0
Эксперт PHP
4925 / 3920 / 1620
Регистрация: 24.04.2014
Сообщений: 11,441
09.02.2018, 22:32
Цитата Сообщение от Jewbacabra Посмотреть сообщение
Для начала нужно понимать что делает этот параметр и как работает механизм сессий в php
Так все таки для чего нужен session.gc_maxlifetime?
0
10.02.2018, 14:19

Не по теме:

Зачем такие старые темы поднимать?

0
1 / 1 / 1
Регистрация: 18.09.2017
Сообщений: 153
10.02.2018, 15:12
Так разве нормально что они висят по несколько дней, хотя параметры задают время в масштабе минут?
0
Эксперт PHP
4925 / 3920 / 1620
Регистрация: 24.04.2014
Сообщений: 11,441
10.02.2018, 15:28
Цитата Сообщение от SergTN Посмотреть сообщение
хотя параметры задают время в масштабе минут?
Время чего они задают? Ответив на этот вопрос уже станет ясно нормально это или нет.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
10.02.2018, 15:28
Помогаю со студенческими работами здесь

Проблема с SendKeys.SendWait. Приложение зависает, если на удаленном компьютере происходит авторизация в системе или смена пользователя
Здравствуйте. Вообщем пишу сервис, который принимает через сеть символы с клавиатуры и &quot;нажимает&quot; их. Возникла проблема. Если на...

Вопрос о куках
В статье на эту тему в интернете указано что кук устанавливаем примерно так: setCookie(&quot;cook&quot;, &quot;value&quot;, time()...

сохранение на куках
здравсвуйте, у меня есть скрипт &lt;script&gt; function side(){ $(&quot;#leftside&quot;).fadeOut(300); $(&quot;#content&quot;).delay(500); ...

перелинковка на куках
на некоторых ИМ реализована довольно интересная идея. Когда вы ходите по товарам- слева от вас появляется блок: &quot;Вы смотрели...

Сохранение в куках
В одном скрипте пишу $login = &quot;Чыыыыыы&quot;; setcookie(&quot;login&quot;, $login, time() + 3600*24); В другом пишу echo $_COOKIE; Ничего не...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru