Форум программистов, компьютерный форум, киберфорум
PHP
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/8: Рейтинг темы: голосов - 8, средняя оценка - 4.75
14 / 14 / 0
Регистрация: 12.12.2010
Сообщений: 159

Авторизация пользователей.

27.12.2011, 21:47. Показов 1565. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Ребятки, есть вопрос, на который я так и не нашел четкого ответа. То есть имеется куча информации в моей голове и, следовательно, куча вопросов.

Касается все это дело механизма авторизации пользователей на сайте.
Как я себе все это представляю:
В куки пишем некую последовательность символов. Юзер приходит на сайт. php лезет в бд и смотрит, есть ли совпадения этой последовательности символов и если находит ее, то смотрит какому пользователю она принадлежит, далее сессион_старт. И при каждом обновлении страницы проверяем наличие сессии и таким образом скрипт узнает пользователей.

А если не открывать сессию и банально при каждом обновлении страницы сверять некий длинный код из куков с базой данных и узнавать кто к нам пришел.

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

Логичное объяснение использования сессии я увидел только одно. Т.к. она хранится на сервере, в нее можно записать имя юзера и не проводить сверку с бд каждый раз, а писать имя пользователя в куки как-то не хочется.

Собственно. Что могут сказать по этому поводу более опытный программисты?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
27.12.2011, 21:47
Ответы с готовыми решениями:

Регистрация и авторизация пользователей
Доброго времени суток. Начал изучать веб, хочу разработать мобильное клиент-серверное многопользовательское приложение. В сети уйма...

Авторизация пользователей - нюансы безопасности
Здравствуйте), я только учу PHP, но хотел бы спросить у вас мнения по поводу исполнения и безопасности кода авторизации пользователей: ...

Авторизация не более N пользователей одновременно
Вот скрипт простой авторизации. Как сделать ограничение на количество одновременно авторизованных пользователей? Например, не более 5...

8
Рождён удивлять
53 / 56 / 9
Регистрация: 08.08.2011
Сообщений: 438
27.12.2011, 23:06
Ну да при вводе логина и пароля посылается запрос на сервер, от туда возвращается результат, если логин и пароль равны истине, то создаем сессии и (или) куки, после чего снова посылаем запрос на сервер и если имя сессии или куки равны истине, показываем приветсвие "Добро пожаловать Виктор!" и другую скрытую информацию!

А про сессии и куки можешь почитать тут http://prootime.ru/php-sessions-cookies полезная информация
0
web dev
 Аватар для TBIKC
107 / 93 / 9
Регистрация: 23.09.2010
Сообщений: 737
27.12.2011, 23:43
Цитата Сообщение от vixa Посмотреть сообщение
Ну да при вводе логина и пароля посылается запрос на сервер, от туда возвращается результат, если логин и пароль равны истине, то создаем сессии и (или) куки, после чего снова посылаем запрос на сервер и если имя сессии или куки равны истине, показываем приветсвие "Добро пожаловать Виктор!" и другую скрытую информацию!

А про сессии и куки можешь почитать тут http://prootime.ru/php-sessions-cookies полезная информация
Любезнейший, прочитайте правила форума
0
Рождён удивлять
53 / 56 / 9
Регистрация: 08.08.2011
Сообщений: 438
27.12.2011, 23:45
ну а что мне надо было ему все информацию с сайта копировать и вставлять сюда? пусть сам читает там
0
14 / 14 / 0
Регистрация: 12.12.2010
Сообщений: 159
28.12.2011, 01:43  [ТС]
ребятки. Не ссорьтесь. Инфу копировать не надо никуда. Там ерунда. По сути не о чем.
Но все равно спасибо. Первый пост писал быстро, без конкретики. Хотелось услышать комментарии опытных разработчиков. ну да ладно.
По факту.
В качестве куки хочу кидать юзеру "случайные букавки". В бд хранится hash('sha512', "случайные букавки" + юзер_агент). Если суммы совпали - вуаля -> стартуем сессию.
Пароли в бд лежат в виде hash('sha512', пароль + рандомная соль).

Добавлено через 1 минуту
Достаточно такого или нет. Буду не против, если кто-то кинет ссылочку на какую-нибудь свеженькую статью по этому поводу, если такие имеются.

Добавлено через 1 час 5 минут
Еще немного подумал. А если получать кэши таким вот образом:
sha512(sha512(uniqid(rand(), true)) . $пароль)

Добавлено через 2 минуты
Вопрос, куда бы подальше спрятать то, что вернула rand()

Добавлено через 2 минуты
Да, и к чему можно еще "прявязать" куки кроме юзер_агента? (айпишник не считается ибо бльшенство наших провайдеров дают серые ip. дак какой смысл их привязывать... только пользователям с динамическими ипами жизнь усложню)

Добавлено через 6 минут
Хотя, нет, прятать соль это уже фанатизм какой-то
0
 Аватар для romchiksoad
1957 / 796 / 89
Регистрация: 03.11.2009
Сообщений: 3,066
Записей в блоге: 2
29.12.2011, 08:11
Цитата Сообщение от Olegaaator Посмотреть сообщение
Пароли в бд лежат в виде hash('sha512', пароль + рандомная соль).
Интересно как это работает на практике... Ведь, что бы сравнить со значением в БД необходимо генерировать такую же "рандомную соль"( если я правильно понял смысл ), но уже к введенному при авторизации паролю...
0
14 / 14 / 0
Регистрация: 12.12.2010
Сообщений: 159
29.12.2011, 13:38  [ТС]
Рандомная соль один раз генерируется. Потом хранится вместе с хэшем. Видимо, неправильно поняли.
0
 Аватар для boong
154 / 124 / 11
Регистрация: 11.01.2010
Сообщений: 434
02.01.2012, 11:45
Что относиться к авторизации пользователя тут все понятно, а для аутентификации пользователя я использую session + localStorage(если поддерживает браузер) + Cookie.
Это позволяет следующие:
1. Нет запросов к БД при аутентификации (только один раз обращаемся к БД при авторизации)
2. Cookie - храним 2 параметра 1 - имя сессии, 2 - ключ доступа к session_id ( в зашифроваваном виде)
3. localStorage - нужно для хранение разных параметром и меток + позволяет работать с разными окнами ...

Аутентификации умеет работать в 2-х режимах:
1. обычный - это когда ключ не динамический и он изменяется только при обновлении страницы
2. динамический - тут у нас ключ динамический изменяться около 2000 раз в час автоматически, при этом не создает ни каких неудобств или проблем.

Вот такой способ я использую, правда это ещё пока не работает в боевых условиях, а только в разработке проекта.
0
 Аватар для nonamez123
189 / 185 / 54
Регистрация: 23.10.2010
Сообщений: 1,336
02.01.2012, 14:18
http://pyha.ru/articles/php/auth/ плохо ищещ мил человек
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
02.01.2012, 14:18
Помогаю со студенческими работами здесь

Авторизация нескольких пользователей
Как сделать так,чтобы было две учётных записи,и можно было авторизовываться без БД. Тоесть мне нужно чтобы при авторизаций пользователь...

Авторизация для сотрудников и пользователей
Есть обычные пользователи, водители транспортной компании, и диспетчеры. Как сделать аутентификацию? Если хранить всех пользователей в...

Авторизация пользователей и отображение данных
Здравствуйте! Не так давно наталкивался на подобную тему здесь, к сожалению не сохранил для себя. В общем суть в следующем: ...

Авторизация пользователей с использованием ТХТ базы
Нужно написать систему аутентификации пользователей. Система должна предоставлять форму входа (имя пользователя и пароль) и страницу...

Авторизация пользователей
Привет всем!Сделал простую регистрацию для сайта теперь хочу сделать авторизацию но никак не получается:-|Если не трудно то напишите...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru