PDA

Просмотр полной версии : Авторизация ( защищенные зоны на сайте )


RFMitrio
12.03.2002, 01:58
Расскажите плиз такую вещь. Есть многопользовательская система, юзер ввел пароль и логин и вошел в нее. Когда он вошел в систему, он лазает по страницам как бы внутри ( бэкофис ), страницы генерятся в виде page.php?id=USER_ID. Так вот, а почему не авторизированный юзер не может набрать page.php?id=USER_ID и попасть в систему ( случайно угадать USER_ID или с помощью перебора, или проверить просто напросто, есть ли юзер с таким именем )? Ведь при каждой новой генерации не проверяется пароль, а тоолько ID? Может я что-то недопонимаю?
Растолкуйте, плиз, как это реализуется ( идея ).
---
Спасибо!

nagash
12.03.2002, 03:17
очень просто...
все остальные данные о юзвере хранятся в сессии... типа пароль и т.п.
а так как сессия находится на сервере то никто не может прочитать что там написано...
вот =)

Papa Karlo
12.03.2002, 16:20
http://www.webscript.ru/stories/02/03/12/6871598

Crazy
12.03.2002, 22:45
Оригинал написал(а) RFMitrio
а почему не авторизированный юзер не может набрать page.php?id=USER_ID и попасть в систему

Посмотри на количество символов в USER_ID и оцени количество лет, потребное на такой подвиг. :) Если система писалась руками с радиусом кривизны более метра, то в USER_ID будет хотя бы десяток цифр (лучше -- букв). Замаешься подбирать...

advocat
13.03.2002, 00:55
Оригинал написал(а) Crazy
Посмотри на количество символов в USER_ID и оцени количество лет, потребное на такой подвиг. :) Если система писалась руками с радиусом кривизны более метра, то в USER_ID будет хотя бы десяток цифр (лучше -- букв). Замаешься подбирать...

Да нет столкнулся я в свое время с такой проблемой, точнее у меня было:
if ($valid_user && $status==admin)
{...}
но вот если подать запрос index.php?valid_user=1&status=admin, то ты попадаешь на эту страничку, но я поступил проще ...
ПОльзователь авторизируется и регистрируется сесеия например
$user = значение, точнее если прошел логин и пароль;
session_registered("user");

и потом проверяешь ...

if (session_is_registered(user))
{...}
идея проста и понятна ... тем более сложна .... попробуй подобрать какая у тебя сесия регится и тд ... и с какими значениями ....