Autor | Zpráva | ||
---|---|---|---|
Rob Profil |
#1 · Zasláno: 6. 10. 2005, 18:45:52
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 * |
#2 · Zasláno: 6. 10. 2005, 19:22:06
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 * |
#3 · Zasláno: 6. 10. 2005, 19:25:06
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 |
#4 · Zasláno: 6. 10. 2005, 19:31:28 · Upravil/a: Rob
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 |
#5 · Zasláno: 6. 10. 2005, 19:32:40
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 * |
#6 · Zasláno: 6. 10. 2005, 19:35:07
Rob
no tak to predpokladam, ze s tim nic neudelas... |
||
WertriK Profil * |
#7 · Zasláno: 6. 10. 2005, 20:20:59
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 |
#8 · Zasláno: 6. 10. 2005, 20:26:52
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 |
#9 · Zasláno: 6. 10. 2005, 20:58:24
"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 |
#10 · Zasláno: 6. 10. 2005, 21:00:55
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 * |
#11 · Zasláno: 6. 10. 2005, 21:33:41
Rob
co to pise za chybu ? Mas session start(); na zacatku scriptu ? |
||
krteczek Profil |
#12 · Zasláno: 6. 10. 2005, 23:29:14
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 |
#13 · Zasláno: 7. 10. 2005, 19:42:01
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. |
||
Časová prodleva: 19 let
|
Toto téma je uzamčeno. Odpověď nelze zaslat.
0