Sessions

Varg

Guest
Sessions

Проблема: В понимании.
Создал я файл login.php:
PHP:
session_register("XS");
if ($Login и $Password корректны - проверка понятна) {
	$XS = session_id();
	header("Location: proceed.php"); exit;
} else {
	header("Location: authform.php"); exit;
}
authform.php - простые формы ввода.
proceed.php:
PHP:
session_register($XS);
if ($XS != session_id()) {
	header("Location: authform.php"); exit;
}
// USER AUTHORIZED
И назрело немало вопросов (все маны прочитал, но не особо понял):
1. Если SID передаётся только через куки и гет/пост, то тут через гет/пост не передаётся, а в куках ничего нет (хотя работает) как это?
2. Насколько это всё безопасно? Если на каждую страницу писать то, что в proceed.php? При переходе с хттп-авторизации не сразу втыкается в сессии.
3. Зачем нужна функция session_destroy?

И вообще, просто помогите разобраться, перечитал все посты в этом форуме, но структурное понимание не пришло...
 

DiMA

php.spb.ru
Команда форума
это не проверка, а фигня какая-то

типа if ($a == $b) ...

где обе переменных можно установить в любые одинаковые строки, чтобы было равенство
 

Varg

Guest
Но ведь session_id(); возвращает ID коннекта клинта-сервера, а XS можно unset, или при таймауте session_id() вернёт другой SID....
И как правильнее надо? помогите плз.
 

Varg

Guest
А как лучше всего сделать разавторизацию?
И что будет, если, например, открыты два окны эксплорера в одной сессии, и одно из них разавторизируется? :)
 

Varg

Guest
proceed.php:
PHP:
unset($XS);
session_start();

// А если session_register("XS"); не писать, будет работать?

if ($XS != "blah-blah") { //или !isset($XS); 
 header("Location: authform.php"); exit; 
}
// USER AUTHORIZED
 

Varg

Guest
Всё, всем спасибо. Я всё понял.

Тема закрыта.
 
Сверху