Autor | Zpráva | ||
---|---|---|---|
Wiki Profil |
#1 · Zasláno: 19. 5. 2005, 12:15:13
Chcem si urobit web, kde by sa ludia registrovali a mohli by pisat pripomienky (ktore by sa ukladali do db), ako pri pri prihláseni zabezpečím aby pri otvorení ďalšej stránky, zostal užívatel prihlásený? (dá sa to uložiť do nejakej systémovej premennej?)
|
||
Hugo Profil |
#2 · Zasláno: 19. 5. 2005, 12:17:28
podivej se do manualu na sessions.
|
||
Wiki Profil |
#3 · Zasláno: 19. 5. 2005, 12:21:28
Dobre hugo, a co takto potvrdzovanie cez mail (pred registraciou)?
|
||
Hugo Profil |
#4 · Zasláno: 19. 5. 2005, 12:37:03
Posles mail, ve kterem bude URL. Napr. http://server.nekde.cz/login.php?id=NejakeDlouheCislo.
No a v db budes mit u uzivatele nastaven status ceka na registraci a to id, pokud se bude shodovat s tim co bude v URL, tak zmenis status na zaregistrovany. Samozrejme to jde udelat i tak, ze mu posles registracni udaje (login a heslo) mailem, ale toto se mi zda lepsi. |
||
Anonymní Profil * |
#5 · Zasláno: 19. 5. 2005, 13:02:35
session VS. cookies ??
co je lepsie ?? |
||
Hugo Profil |
#6 · Zasláno: 19. 5. 2005, 13:11:08 · Upravil/a: Hugo
sessions, protoze cookies se daji vypnout v prohlizeci (samozrejme pokud predavas sessionID pomoci cookies, tak mas pri vypnutych cookies smulu tak i tak).
|
||
DoubleThink Profil * |
#7 · Zasláno: 19. 5. 2005, 13:12:23
Určitě SESSION - citlivá data totiž zůstávají na serveru - klient s sebou táhne jenom SESSION ID (buď v cookies nebo za URL adresou)
V nových verzích PHP už se cookies se SESSION ID ukládají samy, takže se programátor nemusí o nic starat (jenom za všechny adresy přidá konstantu SID, kterou PHP v případě neúspěchu zápisu cookies nahradí číslem session - tím je zaručena funkčnost i ve starých browerech) |
||
Anonymní Profil * |
#8 · Zasláno: 19. 5. 2005, 13:17:14
od ktrorej verzie PHP je session ??
vela o tom neviem (s cookies mam viac skusenosti) je niekde nejaky priblizny zrozumitelny navod ?? (okrem dokumentacie..) |
||
Hugo Profil |
#9 · Zasláno: 19. 5. 2005, 13:20:10
od PHP4 (to je uz snad na vsech serverech). Do PHP3 se museli doinstalovat nainstalovat.
|
||
llook Profil |
#10 · Zasláno: 20. 5. 2005, 05:40:55
Celkem srozumitelný snad je článek ze seriálu na Linuxsoftu: http://www.linuxsoft.cz/article.php?id_article=440
|
||
Wiki Profil |
#11 · Zasláno: 20. 5. 2005, 07:11:12
Hele mam taku otazocku...
Ak chcem pisat SESSIONy, staci mi toto: session_start(); $_SESSION["nejaky nazov"] = "nejaka hodnota"; a potom na ich zmazanie session_destroy(); alebo treba nieco viac? |
||
llook Profil |
#12 · Zasláno: 20. 5. 2005, 10:09:49
session_destroy() zruší session, ale nepromaže pole $_SESSION. Na to je třeba dát pozor. Takže po session_destroy(); dávej vždy pro jistotu ještě $_SESSION = array();
|
||
Wiki Profil |
#13 · Zasláno: 20. 5. 2005, 13:36:35
THX a lot...
moc ste mi pomohli (aj ked ste ma odkazali na manualy, ale vedel som co hladat...) Este raz DAKUJEM... |
||
Leo Profil |
#14 · Zasláno: 20. 5. 2005, 14:20:55
"$_SESSION = array();"
Nebo unset(), Leo |
||
llook Profil |
#15 · Zasláno: 20. 5. 2005, 20:55:07
Nějak jsem si matně pamatoval, že jsem někde četl že se nemá používat unset($_SESSION);. Tak jsem to teď dohledal a zjistil jsem, že šlo o něco úplně jiného: session_unregister: Do not unset() $_SESSION itself as this will disable the special function of the $_SESSION superglobal.
Takže session_destroy(); unset($_SESSION); je v pořádku. |
||
tark Profil * |
#16 · Zasláno: 21. 5. 2005, 11:28:28
Spíš by mě zajímalo, proč tady všichni tak opovrhují cookies.. Cookies jsou výborná věc i na přihlašování a chtěl bych vidět, jak bych se session zůstal přihlášený jeden měsíc... :-)
Navíc v cookies nemus být uchováváno heslo.. Stačí uchovávat pouze dvě cookies a ověřovat to nějak takhle.. <?php if(isset($_COOKIE['cislouzivatele']) && isset($_COOKIE['cookiehash'])) { if(!intval($_COOKIE['cislouzivatele'])) die('cookie s cislo uzivatele musi mit ciselnou hodnotu..'); // vytahneme z db data select ... where cislouzivatele=$_COOKIE['cislouzivatele'] // username neexistuje if(!sql_num_rows($dbconnect)) Header('http://prihlasovaci-stranka.php'); // overime if($_COOKIE['cookiehash'] != $dbrow['cookiehash']) Header('http://prihlasovaci-stranka.php'); } ?> Cookie hash se dá libovolně měnit, můžeme jej vygenerovat třeba touhle fci: <?php function NovyCookiehash() { $hash = rand(1,100000); $hash.= crypt(rand(1,100000)); $hash = sha1($hash); return $hash; } ?> Cookiehash taky můžeme měnit při přihlášení formulářem (tzn. vyplníme uživatelské jméno a heslo). taky docela dobrý pro bezpečnost... |
||
Časová prodleva: 20 let
|
Toto téma je uzamčeno. Odpověď nelze zaslat.
0