Autor Zpráva
23k
Profil
Omlouvam se uz to tady jednou mozna bylo, ci spise neco podobneho ale nedospelo

Pouzivam na webu sessions. Nicmene uzivatele reptaji pokud chteji napsat komentar, ci prispevek do fora, zadat vysledek na webu a neustale se musi prihlasovat. Proto chci skloubit Sessions s cookies.

Nejedna se o uplne nejdulezitejsi vec na webu, napriklad o logovani a "pamatovani" udaju do administrace webu bych se ani nepokousel.

Zajima mne jak byste ukladani HESLA, UZIVATELSKEHO JMENA do COOKIES resili Vy?

Me napadlo toto >>

User zada do formulare JMENO a HESLO. Pokud pocet radku bude roven ==1, ulozi se $_SESSION[prihlasen] = $username // bude obsahovat uziv. jmeno, heslo neni asi prilis dobre ukladat.


a tuto session bych ulozil do cookies timto zpusobem.

$_SESSION[prihlasen] = $username
$username_valid = md5($_SESSION[prihlasen]); // zakodujeme md5tkou
$username_valid = crypt($username_valid,"ax96Af0"); // a jeste cryptem , druhy parametr je sifra dle ktere se cryptuje.



a tuto cookies budu nacitat a kontrolovat. Myslite si ze je to dostatecne?
juneau
Profil
nevim, proc jsi me pres mejl pobizel k reakci, kdyz k tomu nemam moc co rict. ted budu celou noc premyslet o tom, co za tim bylo.

zadne dulezite cookies neukladam, takze holt jen reknu, ze je to zbytecny risk. v tehle oblasti jsem paranoidni.
23k
Profil
Jevil ses mi jako PHP schopny, nic jineho zatim nehledej LOLEC
trif
Profil *
a naco ti je to davat do cookie z akeho dovodu????????
23k
Profil
Aby se uzivatele nemuseli stale prihlasovat pokud chteji provest jednu z akci (pridat komentar, pridat vysledek atd..) PROTO COOKIES ... nyni to mam pres SESSIONS
llook
Profil
Pokud jsou session nastavený tak, aby používaly cookies (skoro vždy), pak stačí správně nastavit životnost session a cookie nesoucí SID.
Ta cookie mívá implicitní životnost 0 - do zavření prohlížeče, dá se to přenastavit funkcí session_set_cookie_params.
Životnost samotného sezení se nastavuje v php.ini volbou session.gc_maxlifetime
23k
Profil
Ilooku ja to vim, nicmene tam kde hostuji si to sam zmenit bohuzel nemuzu. Proste je zivotnost nastavena DEFAULT, ostatne jako vetsina veci, uz sem si zkousel pres php_ini_set() nastavit hafo veci ale H*****.

Proto takhle cachruji s cookies, i kdyz bych je radsi pouzival na jiny veci (ankety + hlasovani ...atd )

Takze se ptam zda-li zpusob co jsem popsal vyse je vniman jako dostatecny zpusob ochrany??? DIKY
llook
Profil
Tak to ti nezbyde, než si napsat vlastní session mechanizmus. V dobách před PHP4 tím spousta projektů začínala.
llook
Profil
Ten výše popsaný způsob moc nechápu. Do cookie si ukládáš jednocestně zašifrovaný uživatelský jméno? To už do cookie rovnou můžeš uložit heslo. Nebo jsem něco přehlídl?
Sessions jsou právě o tom, že v cookies je uložené pouze jakési dočasné heslo (session id).
23k
Profil
Mno jedna se mi o to aby negdo tu cookiesku nedokazal napodobit. Kdybych ukladal nehashovane USERNAME, tak si kdokoliv zjisti nick jednoho z hracu v LIZE a napodobi cookies a muze psat pod jeho nickem. Nebo se pletu??

Proto jsem si vymyslel tuto "OCHRANU". I kdyz nekdo zjisti username, tak snad nemuze prijit na zakodovanou podobu .. tak jsem to myslel...


Takze jak?


Proste mi jde o to aby se uzivatele nemuseli prihlasovat. Vzdyt i tady to tak nejak funguje ze se NICK a HESLO pamatuje?
llook
Profil
Tak si napiš vlastní sessions.

Každý návštěvník dostane při první návštěvě nějaký náhodný ID a po přihlášení si skript někam na server (do souboru nebo databáze) uloží, že návštěvník s tímto ID je přihlášený a aktuální čas jako čas poslední aktivity.

Při dalších požadavcích se podíváš do databáze/souboru, jestli návštěvník s tímto ID je přihlášený a jestli nebyl moc dlouho v nečinnosti (pak by byl považován za odhlášeného).
Pokud vše souhlasí, pokládáš uživatele za přihlášeného a přepíšeš čas poslední aktivity.

A čas od času nějakým skriptem smažeš staré záznamy.

Podobně fungují i ty sessions co jsou v PHP vestavěný a řekl bych že tohle fórum to bude mít řešený taky nějak podobně.
tark
Profil
$_COOKIE['username'] = my.username;
$_COOKIE['cookiekey'] = nahodny klic (ja pouzivam 80-znakovy, muze byt i delsi), ktery je ulozeny na nepristupnem miste (databaze, soubory - ktere nejsou ve webrootu apod.)
Toto téma je uzamčeno. Odpověď nelze zaslat.

0