Autor Zpráva
Rob
Profil
Jak jsem napsal. Přečetl jsem si návod na sessions na linuxsoftu. Ten seriál o PHP je tam docela dobře zpracovanej, ale něco mi tam docela chybělo. Nejprve popíši, jak mi fungují dosavadní scripty s cookies, abych se ujistil, zda by je šlo předělat na sessions, tak jak si to myslím. A pak položím ještě otázky.

Je to script na práci se články, takže něco jako redakční systém. Vyplnění registračních údajů se vyhodnocuje ve scriptu login.php. Ten zkontroluje v databázi, zda jsou údaje správně. Když ano, tak vytvoří cookies.
1. Cookie, povoleni: ano
2. Cookie, autor: login (to proto, aby se pro práci se články zobrazovaly jen ty, které vytvořil přihlášený uživatel a ne i ty od ostatních uživatelů).
3. Cookie, jmeno: Příjmení, Jméno (to kvůli podpisu, pokud by se ke kolonkám nadpis a obsah příspěvku vložila kolonka podpis, tak by to nebylo tak „bezpečné“)
A jako čtvrtý krok přesměruje na index.php. v index.php jsou umístěny všechny následující operace. Než script udělá jakoukoliv operaci, tak ověří jestli existuje cookie povoleni: ano, pokud ano, tak to tu opraci provede, a když ne, tak echne onu proslulou počítačovou větu: přístup zamítnot. Odhlášení pak vypadá tak, že script zruší všechny vytvořené cookies a přesměruje do hlavní sekce stránek. Je to ještě pojištěno tím, že kdyby se někdo zapomněl odhlásit, tak mají cookies nastavenu platnost na nějakých 20min.

Takže první z otázek. Pokud všechny cookies ve výše popsaných scriptech přepíši na sessions, bude to tak správně? Tedy jestli se sessions takto dají použít?

A dále:

Může mi někdo popsat, jak řešíte tyto problémy Vy?

Jak by pro odhlašování vypadal příkaz na zrušení sessions? Není to něco jako sessions_stop() nebo tak něco?

Lze ovlivnit, aby se identifikátor session předával metodou GET nebo COOKIE? Nebo je to čistě na adminovi hostingu??

A nějakou pojistku jako mám na tom dosavadním scriptu, tady bezpečnostní odpojení sessions po uplynutí časové lhůty?? Prostě nastavení platnosti sessions??

No a nemáte někdo ponětí, jak to vypadá na nějakém velkém serveru. Např.: seznam, centrum nebo nějaké menší, například u již zmiňovaného linuxsoftu? Prostě jak to dělají profíci? Myslím, že od mého scriptu se to lišit moc nebude, alespoň v základních ideách, ale prostě JAK??.
WertriK
Profil *
http://www.pcsvet.cz/art/article.php?id=1072&search=SESSION

add 1 slo, ale musis sloucit vsechny polozky 1,2,3 do jedne = session
add 2 muze
add 3 session_register("promenna"); session_destroy();
add 4 standartne se predava pomoci cookies nebo automaticky se prida za odkaz cili metodou get (zkus a uvids)
add 5 to nevim, treba neco najdes na http://mirrors.inway.cz/manual/cs/ref.session.php
add 6 pres session bych to videl
kuba
Profil *
zivotnost je nastavena v php.ini na radku session.gc_maxlifetime = "pocet sekund zivota session" (myslim)
nastaveni sessions je v php.ini pod sekci [Session]
Rob
Profil
WertriK
Myslíš
session_start();
session_register("povoleni");
session_register("login");
session_register("jmeno");
$_SESSION['povoleni'] = 'ano';
$_SESSION['login'] = 'nejakylogin';
$_SESSION['jmeno'] = 'Příjmení, Jméno';

Jestli ne takhle, tak netuším, jak myslíš sloučit do jedné.....

add 6.......
No to ano, ale myslel jsem něco konkrétnějšího.........

A díky za odkaz......
Rob
Profil
kuba
Ale já nejsem admin..... hostuji na wz a to, čeho se to týká je sice na jiné adrese, ale je to taky wz.
kuba
Profil *
Rob
no tak to predpokladam, ze s tim nic neudelas...
WertriK
Profil *
Rob
jojo, tak jsem to myslel...
pokud mas hosting na wz tak add 4 te nemusi zajimat, tam se to predava automaticky
add 6 zatim jsem pro nikoho tak "velkeho" nedelal tak nevim...
Rob
Profil
WertriK
NO takže jsem zkusil přepsat ten script z cookies na chlup přesně do sessions ...................... chvíle napětí..................... a nefunguje.
Leo
Profil
"Než script udělá jakoukoliv operaci, tak ověří jestli existuje cookie povoleni: ano, pokud ano, tak to tu opraci provede, a když ne, tak echne onu proslulou počítačovou větu: přístup zamítnot."

To neresi vubec nic, protoze cookie se da v prohlizeci zmenit, prepisu ji na povoleni:ano a mate po zizalkach. Leo
Rob
Profil
Leo
No já si nechám rád poradit... Jak podle Vás na to? Co za finty používáte Vy? Neříkám, že je to super, ale je to jediné, co jsem byl schopen vymyslet
WertriK
Profil *
Rob
co to pise za chybu ?

Mas session start(); na zacatku scriptu ?
krteczek
Profil
Rob, Leo chce pravděpodobně naznačit, že Ti stačí cookie s otiskem loginu, který budeš kontrolovat proti databázi, v případě, že je uživatel s timto otiskem v databázi povolíš mu ve scriptu to, co má povoleno, podle jeho práv.
A se session je to v podstatě to samé, stačí Ti jedna, v které budeš přenášet jen hash přihlášení a zbytek skriptu se bude chovat podle toho co vyleze po porovnání s databázi.
IMHO jsou cookie jednodužší, bezpečnost bych považoval za shodnou (v případě dobře napsaných scriptů).
Možná jen u sessions ukládaných na serveru je ta bezpečnost tošinku vyžší, ale tvrdit to nebudu, je to jen má doměnka, a záleží na tom jak je server nastaven.
většinou to běhá tak že vnutí session do adresy (tomu se dá zabránit ale potom stejně ta sessions (nebo informace o te sesion) jde do cookie ...
krteczek
Rob
Profil
WertriK
neukazuje to chybu, ale odmítá mi to povolit po přihlášení přístup. ukáže jen první stránku, takže jak jsem popisoval ten script, ta session se tam nějak neudrží.

krteczek
Leo asi myslel, že když je uživatel odhlášen, tak je cookie povoleni nastavena na ne a že by ji dokázal přepsat - ale ona je po odhlášení smazána, takže bych řekl, že to nejde znovu bez oprávnění vytvořit.
Toto téma je uzamčeno. Odpověď nelze zaslat.

0