|
172 / 167 / 75
Регистрация: 21.11.2014
Сообщений: 1,490
|
|
Авторизация на сессиях09.09.2016, 12:57. Показов 1286. Ответов 28
Метки нет (Все метки)
Ребяты, подскажите, пожалуйста идеологию авторизации на сессиях (без кук).
Есть БД юзверей. В ней id, логин и пароль в md5 и или иже с ним (соль там и все такое). Стартуем сессию, проверяем, задан ли $_SESSION['id']. Если нет, то отправляем на страницу авторизации. Если задан, то лезем в БД и проверяем, есть ли юзверь с таким id. Если есть, пускаем на страницу, если нет - отправляем опять же на страничку авторизации. Такого подхода достаточно? Или необходимо более надежно защититься? К примеру, кроме $_SESSION['id'] задавать еще какой-нить уникальный для данной сессии $_SESSION['session_hash'], который генерится при авторизации и записывается в БД, а затем проверяется вместе с id? Я вот этот момент не очень понимаю... ну если он нужен, конечно. По мне, так это только для кук надо делать... Можете в двух словах описать безопасный принцип авторизации на сессиях? А то примеров в инете куча, но никто не описывает идеологии: тупо "сделайте так", "сделайте так" и "как видите все просто".
0
|
|
| 09.09.2016, 12:57 | |
|
Ответы с готовыми решениями:
28
Безопасная авторизация на разных устройствах: что хранить в сессиях и куках? Безопасность в сессиях Работа в сессиях |
|
172 / 167 / 75
Регистрация: 21.11.2014
Сообщений: 1,490
|
|||
| 09.09.2016, 17:38 [ТС] | |||
|
Добавлено через 36 секунд
0
|
|||
|
4925 / 3920 / 1620
Регистрация: 24.04.2014
Сообщений: 11,441
|
|
| 09.09.2016, 17:41 | |
|
1
|
|
|
133 / 133 / 48
Регистрация: 26.04.2013
Сообщений: 1,356
|
||||||
| 09.09.2016, 17:49 | ||||||
Для API у меня другая история, но она тут не нужна Добавлено через 7 минут А все эти сессии и id сессиий в бд, чепуха не предсталяю какую она тебе защиту даст. Если куки украли то пиши пропало Сессию стащили, тоже пиши пропало
1
|
||||||
|
930 / 846 / 190
Регистрация: 28.11.2013
Сообщений: 3,621
|
||
| 09.09.2016, 18:19 | ||
Вы просто проверяете, установлены ли сессионные переменные и все. Сохранение sid'а в базе может потребоваться для работы на нескольких устройствах, чтобы для каждого устройства не создавалась отдельная сессия.
0
|
||
|
172 / 167 / 75
Регистрация: 21.11.2014
Сообщений: 1,490
|
|
| 09.09.2016, 23:28 [ТС] | |
|
miketomlin, ну вот же! Вот оно!
Я и хочу понять, что и как не так. Прослушивание трафика и вредоносные программы - это все понятно. Но мы же сейчас не о банковской системе какой-то говорим. Тогда уже давайте об инсайдерах не забывать, что чаще дешевле... У меня не сайт, раз уж такая пьянка. У меня некий ресурс типа CRM. Нет у меня необходимости: а) ходить в систему из разных браузеров; 2) ходить в систему с разных IP в рамках сессии, ибо народ работает на рабочих местах.. а я пароль введу себе уж как-нить. И я хочу адекватный баланс между удобством и безопасностью, чтобы у меня не "стибрили" мои годами наработанные данные. Что касается записи идентификатора сессии в базу - а чем вам не дополнительная защита-то? Если вас постоянно выкидывает из системы - идите к админу (разрабу): то ли он криворукий, то ли какие-то проблемы у нас, Хьюстон. Я, ко всему прочему, хочу сделать лог авторизаций: время, IP. И, поверьте, я его буду смотреть.. ибо я с Астериском уже встрял, было дело (а надо было всего навсего хотя бы иногда смотреть логи). В общем я из всего нашего топика+гугление вынес для себя единственное приемлемое решение: кук не будет, ибо это достояние пользователя (мошенника) и при этом в БД для проверки будет записываться implode http-запроса в виде sha какого-нить + проверка IP сесии.
0
|
|
|
930 / 846 / 190
Регистрация: 28.11.2013
Сообщений: 3,621
|
|||||
| 10.09.2016, 00:16 | |||||
|
0
|
|||||
|
Фрилансер
1871 / 1362 / 604
Регистрация: 12.01.2011
Сообщений: 5,470
|
||
| 10.09.2016, 00:47 | ||
|
Я session_id пихал в базу , когда у меня не было регистрации и авторизации, аа нужно было добавить определенную инфу в базу данных и потом знать что она моя по session_id(). Но это работало до выхода из браузера. И еще раз повторяю, это было целесообразно когда нужно было сохранить состояния, ( идентифицировать человека ибо нет у него не имени , не id, ничего кроме PHPSESSID) для чего и используются куки и сессии. Вот если бы у меня была авторизация , я бы сохранял ествественно id пользователя и по ней бы вытягивал инфу. А так пришлось session_id использовать.
0
|
||
|
930 / 846 / 190
Регистрация: 28.11.2013
Сообщений: 3,621
|
|
| 10.09.2016, 01:10 | |
|
Laroux, пару слов про CRM... Если речь идет не об отдельных рядовых пользователях, а о менеджерах, вам нужно сделать так, чтобы точку входа в систему для привилегированных пользователей даже найти было трудно, не то что ее взломать.
Помимо всего прочего форму входа, имя хоста с DNS-сервера можете перенести на рабочие места менеджеров. Можно и всю систему перенести, оставив только базу и хранилище файлов с клиентской частью на сервере.
0
|
|
|
3900 / 3238 / 1353
Регистрация: 01.08.2012
Сообщений: 10,914
|
||||
| 10.09.2016, 09:49 | ||||
Имя, фамилию, год рождения и т.п. Но это просто переливание информации туда-обратно, практической пользы никакой.
0
|
||||
| 10.09.2016, 09:49 | |
|
Помогаю со студенческими работами здесь
29
фильтр на сессиях Корзина на сессиях ошибка в сессиях(( Корзина на сессиях Пропадают переменные в сессиях Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
| Опции темы | |
|
|
Новые блоги и статьи
|
|||
|
Гайд, как ворваться в вайб-кодинг в мае 2026
Noname2331 17.05.2026
Простите за получившееся полотно текста, я даже не знаю, как его разбить на главы. Тут, что называется, ни добавить ни убавить, одна сцена одним дублем.
На моих глазах недавно случилось чудо. Как. . .
|
[golang] Алгоритм «Хак Госпера»
alhaos 17.05.2026
Алгоритм «Хак Госпера»
Хак Госпера (Gosper's Hack) — алгоритм нахождения следующего по величине числа с тем же количеством установленных бит.
Придуман Биллом Госпером в 1970-х, опубликован в. . .
|
Рисование бинарного древа до 6-го колена на js, svg.
russiannick 17.05.2026
<svg width="335" height="240" viewBox="0 0 335 240" fill="#e5e1bb">
<style>
<!]>
</ style>
<g id="bush">
</ g>
</ svg>
function fn(){
let rost;/ / высота древа
let xx=165,yy=210,w=256;
|
FSharp: interface of module
DevAlt 16.05.2026
Интерфейс модуля F# позволяет управлять доступностью членов,
содержащихся в реализации модуля. По-умолчанию все члены модуля доступны:
module Foo
let x = 10
let boo () = printfn "boo"
. . .
|
|
Хитросплетение родственных связей пантеона греческих богов.
russiannick 14.05.2026
Однооконник, позволяющий узреть и изучить отдельных героев древней Греции.
<!DOCTYPE html>
<html lang="ru">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible". . .
|
[golang] Угол между стрелками часов
alhaos 12.05.2026
По заданным значениям часа и минуты необходимо определить значение меньшего угла между стрелками аналогового циферблата часов.
import "math"
func angleClock(hour int, minutes int) float64 {
. . .
|
Debian 13: Установка Lazarus QT5
ВитГо 09.05.2026
Эта инструкция моя компиляция инструкций volvo
https:/ / www. cyberforum. ru/ blogs/ 203668/ 10753. html
и его же старой инструкции по установке Lazarus с gtk2. . .
|
Нейросеть на алгоритме "эстафета хвоста" как перспектива.
Hrethgir 06.05.2026
На десерт, когда запущу сервер.
Статья тут https:/ / habr. com/ ru/ articles/ 1030914/ . Автор я сам, нейросеть только помогает в вопросах которые мне не известны - не знаю людей которые знали-бы. . .
|