| Autor | Zpráva | ||
|---|---|---|---|
| coffeephantom Profil * |
#1 · Zasláno: 30. 10. 2014, 00:04:59
Zdravím,
řeším následující problém: 1, Mám vytvořenou funkci na zabezpečené přihlášení (kód dle tutoriálu) function sec_session_start() {
$session_name = 'sec_session_id';
$secure = SECURE;
$httponly = true;
if (ini_set('session.use_only_cookies', 1) === FALSE) {
header("Location: ../error.php?err=Could not initiate a safe session (ini_set)");
exit();
}
// Gets current cookies params.
$cookieParams = session_get_cookie_params();
session_set_cookie_params($cookieParams["lifetime"],
$cookieParams["path"],
$cookieParams["domain"],
$secure,
$httponly);
session_name($session_name);
session_start();
}kterou na každé stránce nahoře volám: sec_session_start(); Problém nastane, když chci na stránce zobrazit jinou informaci uloženou v sessions, např. $_session["err"]. Nezobrazí ji.
Když sec_session_start(); přepíšu na session_start();, pak se vypíše, ale zase není funkční přihlášení.
Když ve funkci vymažu session_start(); a dám ho místo toho nahoru na stránku, opět se vypíše, ale nefunguje login.
Neměl by někdo nápad, jak zobrazit uložená sessions a zároveň zůstalo zachováno přihlášení? Děkuji předem! |
||
| jefitto44 Profil |
#2 · Zasláno: 30. 10. 2014, 06:48:57
A ako ukladáš iné informácie do toho $session["err"]?
|
||
| coffeephantom Profil * |
#3 · Zasláno: 30. 10. 2014, 10:52:26
jefitto44:
Ukládám je v php souborech, které používám pro zpracování formulářů. Např. tedy: <? session_start(); ... nějaký kód .... $session["err"] = 'nějaká chyba'; header přesměrování ?> Chyba (snad) není v zápisu, protože když stránku (třeba index.php) začnu session_start();, chyba se zobrazí, ale nefunguje přihlášení. Funkce sec_session_start() předpokládá session_start(); na konkrétním místě (viz funkce v prvním příspěvku), takže když stránku začnu session_start(); a až pak sec_session_start(), funguje sice vypsání chyby uložené v $session["err"], ale nefungují sessions určené pro identifikaci přihlášeného uživatele.
Snad jsem se do toho moc nezamotal... |
||
| Tori Profil |
#4 · Zasláno: 30. 10. 2014, 11:08:56
Proměnná se jmenuje
$_SESSION, velkými písmeny s podtržítkem. Jakýkoli jiný zápis = jiná proměnná.
|
||
| bestik_63 Profil |
#5 · Zasláno: 30. 10. 2014, 14:26:21
voláš tu funkci, kde je session_start() hned na začátku kódu? Tato funkce musí být totiž zapnuta ještě před načtením hlavičky.
|
||
|
Časová prodleva: 12 let
|
|||
0