Автор Тема: ламерский вопрос по сессиям  (Прочитано 4364 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Croaker

  • Модератор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 927
  • +0/-0
  • 0
    • Просмотр профиля
    • http://alex-files.ru
ламерский вопрос по сессиям
« : 21 Мая 2002, 15:53:10 »
ника не могу разобраться.
есть страница, на которую через форму передается login и password. Сравниваю их с наличиствующими в базе и регистрирую в сессии:


$ses_n 
$login.$passwd

session_name
($ses_n);
session_start();
session_register("ulogin""upasswd");
$ulogin $login;
$upasswd $passwd;


потом перехожу на другую страницу.
Что нужно сделать, чтобы $ulogin и $upasswd стали доступны на этой самой другой странице?
Не все коту матрица.

Оффлайн Fury

  • Завсегдатай
  • Пользователь
  • **
  • Сообщений: 64
  • +0/-0
  • 0
    • Просмотр профиля
ламерский вопрос по сессиям
« Ответ #1 : 21 Мая 2002, 16:36:16 »
unset($ulogin);
unset(
$upasswd);
session_start();
session_register("ulogin");
session_register("upasswd");

И потом $ulogin и $upasswd  - твои :)
Рыжая бестия

Оффлайн Croaker

  • Модератор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 927
  • +0/-0
  • 0
    • Просмотр профиля
    • http://alex-files.ru
thanks
« Ответ #2 : 21 Мая 2002, 16:50:20 »
спсибо огромное
Не все коту матрица.

Оффлайн Макс

  • vir magni ingenii
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3534
  • +0/-0
  • 2
    • Просмотр профиля
ламерский вопрос по сессиям
« Ответ #3 : 21 Мая 2002, 18:38:19 »
А зачем пароль в сессию записывать? Там он храниться в открытом состоянии, что теоретически не безопасно.
Регистрируй в сессии только логин, а на других страницах проверяй - если логин зарегистрирован, значит пользователь уже проходил авторизацию
First learn computer science and all the theory. Next develop a programming style. Then forget all that and just hack. ( George Carrette )

Оффлайн Croaker

  • Модератор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 927
  • +0/-0
  • 0
    • Просмотр профиля
    • http://alex-files.ru
ламерский вопрос по сессиям
« Ответ #4 : 21 Мая 2002, 18:43:20 »
Цитировать
что теоретически не безопасно


?
Не все коту матрица.

Оффлайн Dm

  • Модератор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 1263
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
ламерский вопрос по сессиям
« Ответ #5 : 21 Мая 2002, 20:27:24 »
Цитировать
Там он храниться в открытом состоянии

имхо, нужно как минимум хранить хеш md5
а лучше, видел неплохую статью на zend.com про добавление к самому паролю еще доп. код и общий хеш уже записывать.

Цитировать
Регистрируй в сессии только логин

хм... а если создается "липовая сессия"?
с уважением,
магистр белой магии.

Оффлайн Макс

  • vir magni ingenii
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3534
  • +0/-0
  • 2
    • Просмотр профиля
ламерский вопрос по сессиям
« Ответ #6 : 22 Мая 2002, 00:13:27 »
Цитировать
хм... а если создается "липовая сессия"?
Я имел ввиду для данного случая, вместо пары логин/пароль хранить в сессии только логин
First learn computer science and all the theory. Next develop a programming style. Then forget all that and just hack. ( George Carrette )

Оффлайн Dm

  • Модератор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 1263
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
ламерский вопрос по сессиям
« Ответ #7 : 22 Мая 2002, 00:33:11 »
Макс
все-таки, что если на сервере создается так называемая липовая сессия только с логином, тогда можно будет получить доступ?

ps. или я не прав => нужно выспаться.
с уважением,
магистр белой магии.

Оффлайн Макс

  • vir magni ingenii
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3534
  • +0/-0
  • 2
    • Просмотр профиля
ламерский вопрос по сессиям
« Ответ #8 : 22 Мая 2002, 01:09:52 »
Dm
Может я неправильно понял, что такое "липовая сессия".
В любом случае, если юзер не прошел авторизацию, в сессию логин записан не будет, и наличие в сессии логина свидетельствует о прохождении авторизации. Если сервер нормально настроен (защищен) никто, кроме скрипта в сессию ничего не запишет

PS
или я тебя не так понял => нужно идти спать
First learn computer science and all the theory. Next develop a programming style. Then forget all that and just hack. ( George Carrette )

Оффлайн Dm

  • Модератор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 1263
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
ламерский вопрос по сессиям
« Ответ #9 : 22 Мая 2002, 01:34:01 »
Макс
полностью согласен.
я предполагал дополнительную защиту от потенциальной возможности создать сессию. т.е. в случае хранения хеша пароля будет проблематично авторизоваться.

ps. все, ушел спать :) утро вечера мудренее.
с уважением,
магистр белой магии.

Оффлайн Croaker

  • Модератор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 927
  • +0/-0
  • 0
    • Просмотр профиля
    • http://alex-files.ru
ламерский вопрос по сессиям
« Ответ #10 : 22 Мая 2002, 14:25:31 »
Fury
чег-то я не допонял.
uset($login) - удаляет $login, если он есть, так?
Если так, то session_start() запускает сессию, я там определяю через session_register($login) $login по новой, вытаскивая его из файла сесии. Но значение его не вытаскивается (пишет, что $login not defined). Где я не догоняю?
Не все коту матрица.

Оффлайн Fury

  • Завсегдатай
  • Пользователь
  • **
  • Сообщений: 64
  • +0/-0
  • 0
    • Просмотр профиля
ламерский вопрос по сессиям
« Ответ #11 : 22 Мая 2002, 15:51:10 »
Croaker
 Удаляет, да, чтобы тебе логин с паролем откуда-то из другого места не пришли, вместо сессии...
Сделай print_r($HTTP_SESSION_VARS); и посмотри, что оно у тебя выводит.
Рыжая бестия

Оффлайн Fury

  • Завсегдатай
  • Пользователь
  • **
  • Сообщений: 64
  • +0/-0
  • 0
    • Просмотр профиля
ламерский вопрос по сессиям
« Ответ #12 : 22 Мая 2002, 15:54:54 »
Цитировать
т.е. в случае хранения хеша пароля будет проблематично авторизоваться

Я делаю так:
Смотрю логин с паролем с базе - если такая пара есть, то вынимаю из базы ID юзера.
Потом создаю сессию и туда пихаю уже ID.
Для пущей верности перед каждым session_start делаю unset($f_userid)
Рыжая бестия

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28