С Новым годом! Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.52/25: Рейтинг темы: голосов - 25, средняя оценка - 4.52
10 / 10 / 5
Регистрация: 21.07.2013
Сообщений: 102

Авторизация и $_SESSION['id']

22.09.2013, 16:48. Показов 5453. Ответов 38
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Такой вопрос: есть таблица пользователей id (автоинкремент), login, password
при входе на сайт пользователю присваивается $id на основе его id в базе

PHP
1
2
3
4
5
$row = mysql_fetch_assoc($rez); 
if (пароли совпали)
...         
$_SESSION['id'] = $row['id'];
$id = $_SESSION['id'];
далее при каком-либо действии, требующем авторизации, просто передается этот $id. вопрос: может ли злоумышленник записать в суперглобальный массив любое значение id? правильно ли вообще идентифицировать пользователя по его id в базе? если нет, то как это нужно делать?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
22.09.2013, 16:48
Ответы с готовыми решениями:

$_post и $_session в форме index.php. передача переменных из $_post в $_session
пока начал это делать... это в качестве примера. есть: <? session_save_path($_SERVER.'/session'); session_start(); if...

$_SESSION
есть такое бд (на картинке можите посмотреть). И я сделаю проверку, если у пользователя статус "4", он на сайт зайти не...

Работа с $_Session
<?if($_SESSION != 1) {?> <form action="index.php?view=autorize" method="post" id="cart-form"> <table id="mycart" align="center"...

38
 Аватар для AndreyDyakonov
122 / 120 / 7
Регистрация: 21.04.2013
Сообщений: 615
22.09.2013, 16:56

Не по теме:

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

успокойтесь никто вам ничего не запишет. Не вы же занимаетесь настройкой сервера...
0
10 / 10 / 5
Регистрация: 21.07.2013
Сообщений: 102
22.09.2013, 17:01  [ТС]
AndreyDyakonov, ну, просто интересно как правильно делать. можно ли по id в таблице идентифицировать или нет
0
 Аватар для AndreyDyakonov
122 / 120 / 7
Регистрация: 21.04.2013
Сообщений: 615
22.09.2013, 17:24
сохраняете в сессии значение. пользуетесь им по необходимости. Не понимаю ваши сомнения. Если к вам придет злоумышленник, наверно защищаться нужно не здесь
0
169 / 132 / 29
Регистрация: 16.02.2013
Сообщений: 867
22.09.2013, 17:44
Цитата Сообщение от ячсмит Посмотреть сообщение
далее при каком-либо действии, требующем авторизации, просто передается этот $id
сам так делаю
Цитата Сообщение от ячсмит Посмотреть сообщение
может ли злоумышленник записать в суперглобальный массив любое значение id
не может, если только доступа к серверу не получит
0
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
 Аватар для KOPOJI
16844 / 6724 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
22.09.2013, 18:25
Цитата Сообщение от Winhttp22 Посмотреть сообщение
не может, если только доступа к серверу не получит
в консоли все легко реализуется..
0
10 / 10 / 5
Регистрация: 21.07.2013
Сообщений: 102
22.09.2013, 21:41  [ТС]
AndreyDyakonov, Winhttp22, угу, понял, спасибо)

KOPOJI, а как еще можно делать? формировать какой-нибудь хэш или просто строку на основе id и rand() (или метки времени) и на основе него идентифицировать?
0
 Аватар для mokojumbot
160 / 160 / 30
Регистрация: 09.11.2012
Сообщений: 1,008
23.09.2013, 06:19
phpsessid хранится в куках.
украсть, подставить и будет _подделано_ и id и все, что хранится в $_SESSION
0
 Аватар для logincyberforu
30 / 31 / 0
Регистрация: 26.08.2013
Сообщений: 282
23.09.2013, 07:46
хммм.... чтото я видимо не понял... так как отредактировав свою сесию и поставить себе ид 1 , я скорее всего получу права админа....

мб по старинке,- типа md5(login+pass)
0
 Аватар для mokojumbot
160 / 160 / 30
Регистрация: 09.11.2012
Сообщений: 1,008
23.09.2013, 07:57
отредактировать можно только id сессии
всё, что в ней хранится - хранится на сервере.
да, можно подменить, зная id сессии админа.
0
 Аватар для logincyberforu
30 / 31 / 0
Регистрация: 26.08.2013
Сообщений: 282
23.09.2013, 08:03
mokojumbot, видимо я опять не понял,- так как если файл хранится на сервере то как сервер сможет идентиицировать пользователя?
0
 Аватар для mokojumbot
160 / 160 / 30
Регистрация: 09.11.2012
Сообщений: 1,008
23.09.2013, 08:39
на компьютере пользователя сохраняется cookie с PHPSESSID
на сервере создается/читается файл sess_<id сессии>

то-есть, зашли мы на форум, у нас phpsessid=q1w2e3r4, а на сервере файл есть файл sess_q1w2e3r4, который содержит значения $_SESSION для этой сессии.

помимо этого файла, еще куча других sess_, в том числе и админский, допустим, sess_p0o9i8u7. и если зная этот самый админский phpsessid подменим им свой, то при перезагрузке страницы система идентифицирует нас как админа.
0
10 / 10 / 5
Регистрация: 21.07.2013
Сообщений: 102
23.09.2013, 16:05  [ТС]
mokojumbot, но то что мы записываем в $_SESSION никак не поможет украсть админский phpsessid или узнать какой номер у админа (кстати, как его вообще можно узнать? он же меняется каждый раз).
т.е. вопрос уже не в том, что записывать, а использовать ли вообще идентификацию на сессиях, правильно?

кстати, как вообще тогда делать?
(понятно, что на каком-то обычном сайте нет смысла заморачиваться, но просто интересно)
0
 Аватар для mokojumbot
160 / 160 / 30
Регистрация: 09.11.2012
Сообщений: 1,008
23.09.2013, 17:59
нужно исключить возможность кражи сессий и всё
0
 Аватар для logincyberforu
30 / 31 / 0
Регистрация: 26.08.2013
Сообщений: 282
23.09.2013, 18:08
ячсмит, как вариант доисторическая авторизация по методу гет, то есть в конце ссылки добавлять типа &ssid=123, но она уже в прошлом, сча используется только на некоторых "динозаврах" вапа. Ну и как извращение авторизация по методу пост.
0
169 / 132 / 29
Регистрация: 16.02.2013
Сообщений: 867
23.09.2013, 18:14
logincyberforu, такая авторизация еще опаснее, чем с куками.
0
10 / 10 / 5
Регистрация: 21.07.2013
Сообщений: 102
23.09.2013, 18:19  [ТС]
mokojumbot, возможно глупый вопрос, но как это сделать?
0
 Аватар для logincyberforu
30 / 31 / 0
Регистрация: 26.08.2013
Сообщений: 282
23.09.2013, 18:19
Winhttp22, ну так то да, но если паралельно с ней сканировать ип+юа то наврятли у того кто перейдёт по оставленой ссылке окажутся теже параметры.
так то сколько скриптов видел везде авторизация по кукам, как писал мд5 хэш логина и пароля, иногда с добавлением рандома или домена сайта.
0
169 / 132 / 29
Регистрация: 16.02.2013
Сообщений: 867
23.09.2013, 18:22
Цитата Сообщение от logincyberforu Посмотреть сообщение
Winhttp22, ну так то да, но если паралельно с ней сканировать ип+юа то наврятли у того кто перейдёт по оставленой ссылке окажутся теже параметры.
тогда вопрос - зачем отказываться от куков, если будишь еще айпи проверять?
сессии к айпи привязывать - тоже кстати идея
0
 Аватар для logincyberforu
30 / 31 / 0
Регистрация: 26.08.2013
Сообщений: 282
23.09.2013, 18:24
ячсмит, като так:
PureBasic
1
2
3
4
5
6
if (pass=pass and login=login){
ssid=md5(rnd(login))
}else{
ssid=""}
 
echo' <a href....=http/site.net?ssid='.ssid'';
Добавлено через 1 минуту
Winhttp22, ну можеш глянуть скрипты топов, там по всякому пытаются выловить юзера... но к ип привязвать не айс, так как ип может быть динамическим, а вот к юа вполне норма.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
23.09.2013, 18:24
Помогаю со студенческими работами здесь

Использование $_SESSION
Как мне можно будет использовать $_SESSION в авторизации. Потому как даже когда я ему присвоил чтото он мне пишет ничего в команде echo....

$_SESSION и $_COOKIE
Здравствуйте уважаемые программисты я недавно начал изучать язык php поэтому иногда возникают трудности Мне нужен скрипт авторизации...

session_register и $_SESSION
В чём разница между $_SESSION=$login и $user=$login; session_register(&quot;user&quot;) ? Чем отличается метод занесения через...

Кнопка в $_SESSION
Хотелось бы узнать можно ли отобразить кнопку на странице сайта, после проверки пользователя по n-полю в $_SESSION из таблицы mysql....

Массивы и $_SESSION
Здравствуйте, подскажите, пожалуйста. Заполняю массив следующим образом и записываю его в переменную $_SESSION: for ($i=1;...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru