Достаточно ли такой защиты?

Asar

Новичок
Достаточно ли такой защиты?

Человек ввел логин/пароль, я проверил, если все Ок - проставляю что-нибудь вроде S_SESSION['psswrd'] = 'Ok' и во всех страницах проверяю по этой самой сессии - Ок или не Ок.
Достаточно ли такой защиты или есть какие то легчайшие способы ее вскрытия и стоит подумать о других вариантах решения?
 

Chatof

Guest
Да, а если человек не пошёл на страницу авторизации, а сразу зашёл на другую страницу предварительно дописав строчку
*.php?psswrd=ok
Помойму пройдёт.
 

Opik

Новичок
Chatof
по твоему? если бы он юзал $psswrd вместое $_SESSION['psswrd'] и register_globals = on то бы прошло, а так нет.
 

DiMA

php.spb.ru
Команда форума
А вот если пользоваться всякими дырявыми хостерами типа нет.ру, где сессии разных юзеров храняться в одном общем каталоге /tmp, то все можно. Создал свою сессию на своем сайте. И зашел с этим номером на чужой сайт.
 

Asar

Новичок
А откуда человек вообще узнает, как сессию обозвать и какое значение ей присвоить, даже если он и мог бы так сделать?
 

DiMA

php.spb.ru
Команда форума
Обзывают стандартно. А номер твой сайт сам сообщит. Далее его читаем со своего сайта, делаем новую с новым номером и идем обратно.
 

Asar

Новичок
Люди. Можно чуть подробнее.
Допустим, у моего хостера будет все плохо - сессии в одном общем каталоге... Для универсальности метода, допустим.
Тогда:
1 метод. Просто проверка, имеется ли переменная S_SESSION['psswrd'] - тогда проходим, или не имеется - тогда отказ. Легко подделывается, как я понимаю?
2 метод. Проверка значения в этой переменной (фиксированного). Типа если S_SESSION['psswrd'] == Ок, проходим, если не равно Ок - то не проходим - тоже подделывается?
3. метод. Если в сессии пароль, который мы проверяем по БД - тоже все плохо, если в одной папке, или уже лучше?
 

SiMM

Новичок
> Допустим, у моего хостера будет все плохо - сессии в одном общем каталоге...
[m]session_save_path[/m]

-~{}~ 22.06.05 15:40:

[m]session_set_save_handler[/m]
 

Asar

Новичок
Т. е. если я установлю другой путь к сессиям - то все будет Ок даже при 1-м методе?
 

Фанат

oncle terrible
Команда форума
метод, при котором пишется в сессию пароль - самый отратительный.

-~{}~ 22.06.05 16:34:

если я установлю другой путь к сессиям - то все будет Ок даже при 1-м методе?
что "всё"? ты читал ответы? ты понял их смысл? Если да - то ты должен сам ответить на этот вопрос.
если нет - то тогда надо уточнять смысл, а не писать код
 

Asar

Новичок
метод, при котором пишется в сессию пароль - самый отратительный.
А менее отвратительными какие считаются? Ставить куку надолго (чтоб и запомнить можно было в случае закрытия окна), или все время $_POST проверять, где должен пароль содержаться или какие еще методы есть, исходя из опыта программистов?
 

Фанат

oncle terrible
Команда форума
мда.
похоже, объяснять бесполезно.

задавай свою директорию для сессий.

-~{}~ 22.06.05 16:46:

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

Asar

Новичок
Хорошо. Я согласен - вполне могу не понимать.
Не кинетесь ли ссылкой, где почитать можно на эту тему - какой метод передачи/проверки паролей грамотнее и т. п. ?
 

Фанат

oncle terrible
Команда форума
здрасьте, приехали.
а передача паролей-то тут при чём?
 

Фанат

oncle terrible
Команда форума
dorfey
нет, это ему не поможет.
это очень старые статьи.
и к его вопросу отношения не имеют.
 

Asar

Новичок
здрасьте, приехали.
Тогда обобщаю вопрос:
человек авторизуется - вводит в поля е-мэйл/пароль.
человек проверяется по БД - совпадают ли. Проверился, совпало. Ура.
Теперь, задача-минимум, чтобы при переходе от страницы к странице все его права (как авторизованного юзера) сохранялись.
Для этого можно юзверям просто выдавать сессию типа S_SESSION['psswrd'] = 'Ok' и проверять ее при загрузке каждой страницы. Этот метод, как я понял, нехорош.
Вопрос - какой же тогда хорош (и чем лучше)? Или, если здесь отвечать не хочется, но в Сети имеется какая-либо статья на эту тему - тогда хотелось бы ссылочку, чтоб научиться...
 

Фанат

oncle terrible
Команда форума
исходи из того, что
1. в общем каталоге твой файл с сессиями запросто прочтёт кто угодно. то есть, всё, что там знаписано. про пароль продолжать, или достаточно?
2. подделать файл твоей сессии.
от этого навскидку мной придумывается такой механизм - писать в сессию секретную строку. к примеру MD5 от Session ID+твоё секретное слово.
при проверке сессии генерить такую строку и сравнивать с записанной.
 
Сверху