Autor Zpráva
Falcon16
Profil
Robim stranky s registraciou a prihlasovanim. Svoje stranky mam spravene cez session, u tychto strankach to menit zrejme nebudem, ide mi skor o to, co je bezpecne davat do session. Na svojich strankach sa ukladaju 3 veci do session:
- ID uzivatela
- nick uzivatela (nechcem tahat pokazde nick z databazy pri prechode medzi strankami, v menu mam subor odkazov, pod nazvom ktory nosi prihlaseny uzivatel)
- level uzivatela - normalny uzivatel ma ine cislo ako admin, podla toho zobrazujem dalsie polozky v menu. teda adminovi sa zobrazia aj dalsie veci ako normalnemu uzivatelovi.

Ide mi o toto. Da sa nejako prepisat ta hodnota, hlavne mi ide o ten level uzivatelsky, aby sa nahodou niekto nepovolany nedostal tam kam nema a nenarobil sarapatu.
Neviem v akej miere je session bezpecne, co sa tyka prepisania, tak ma napadlo, ze dam este jednu polozku do databazy a pri registracii sa naplni nejakym nahodnym cislom. Pri prihlaseni sa potom skontroluje zadany nick a heslo. ak budu rovnake, vytvori sa a naplni session ID uzivatela a to generovane cislo. pri kazdom prechode stranky sa bude skumat, ci ID v session sa zhoduje (patri) s generovanym cislom.

Urcite by to tak bolo bezpecnejsie, ale je to potrebne? ako su session bezpecne na prepisanie?
Tymto sposobom by sa muselo pri kazdom prechode medzi stranakmi nadvazovat spojenie s databazou, vytahovat udaje odtial a porovnavat ich. zrejme by to bola dost velka zataz na server.

za radym skusenosti a inu pomoc budem vdacny
ps: stastny novy rok a vela uspechov pri tvorbe
djlj
Profil
Ten level bych určitě oddělal. Hodnotu sušenek lze měnit velice snadno.

A dotazovat se databáze při každém načtení stránky na jeden či dva údaje není dle mě vůbec žádná zátěž.
WertriK
Profil *
ako su session bezpecne na prepisanie? - session se ukladaji ja server [uzivateli se posle cookie s hodnotou sessionID, pokud se nepredava v url ] -> session prepsat nejdou uzivatelem, diky Bohu ...

Ja bych teda v session predaval jen ID uzivatela a na zacatku indexu bych si z DB vatahl vsechny informace o uzivateli, protoze kdyz se rozhodnete udelat aby si kazdy uzivatel mohl zmenit svuj profil tak v session budou stare udaje....
WertriK
Profil *
Hodnotu sušenek lze měnit velice snadno.

-> jak tedy mam zabezpecit stranky ? cookies bezpecne nejsou o nic vic kdyz se ukladaji uzivateli do pc a je k nim volny pristup ....
Falcon16
Profil
-->djlj sušnky = Coockies, tie ale nepouzivam. Ide mi o SESSION

-->Wertrik takze ziadne prepisanie SESSION nehrozi, mozem v klude spavat dalej.
Mam na strankach aj profil ale to s tym ci sa mu zobrazi admin menu alebo nie, nema nic spolocne. nick, heslo a uzivatelsky level mam v inej tabulke ako ostatne udaje o uzivatelovi a z tej tabulky (kde je heslo atd.) berem udaje iba pri prihalseni. Tieto udaje sa uz ani nemania neskor, takze starych udajov v SESSION sa neboojim. navyse ked sa nedaju SESSION prepisat, bolo by zbytocne pokazde tahat veci z databaze.
Leo
Profil
Session muze v rade pripadu menit nekdo, kdo ma webhosting na stejnem serveru, staci, kdyz se session ukladaji do spolecneho adresare... Leo
Leo
Profil
"Coockies, tie ale nepouzivam. Ide mi o SESSION"

A jak si myslite, ze session funguji, to by me zajimalo :-) Leo
WertriK
Profil *
By me teda zajmalo jak zabezpecit stranku, kdyz session jdou menit a kdyz jdou menit session tak jdou menit i cookies ...

Snad pomoci DB - zapsat ip, cas, prihrasen, unikatni ID(ip by ani nebylo treba) v podstate to bude to same jako session ale bude se to ukladat do DB ... ale zase je zde moznost ze admini na webhostingu to maji moznost to zmenit takze si clovek nevybere %-|
djlj
Profil
ale zase je zde moznost ze admini na webhostingu to maji moznost to zmenit

A proč by to dělali? To by teda byl hodně nekvalitní webhosting, když by uživatelům měnili data v databázi.
WertriK
Profil *
Extrém který dokazuje že nic není absolutně bezpečné, ale pro běžný web-login dostačující.

Session muze v rade pripadu menit nekdo, kdo ma webhosting na stejnem serveru, staci, kdyz se session ukladaji do spolecneho adresare... Leo
Jak to lze udělata, to by mne zajímalo, abych věděl na co si dát bacha ...
tpikalek
Profil *
Nejlepší by bylo udělat místo odkazů formuláře a jméno a heslo pořát posílat postem... :o) Ale to nedělej!
Session teoreticky změnit jdou, ale ne každej to umí (a kdo to umí, tak je profík a nabourá se ti tam i tak). Jsou-li ty údaje na stránkách tak moc tajný, že musíš mít super zabezpečení, pak možná SSL. O SSL toho moc nevím, ale určitě je to bezpečný (když přez to jedou myslím i některý banky...). Ale musí to být nainstalovaný na tom serveru, kam to chceš dát.
Session podle mě dostačuje na všechny fóra, stránky s registrací ap.
Jenom jestli to nevíš, Falcone: Když se založí soubor cookie (uloženej na serveru), tak se ke klientovi uloží to cookie id té session, aby se potom mohla znovu vyvolat. Ta cookie má nastavenou platnost, dokud nezavřeš prohlížeč (to se myslím dá v php.ini nastavit i jinak, ale nedoporučuju).
tpikalek
Profil *
A proč by to dělali? To by teda byl hodně nekvalitní webhosting, když by uživatelům měnili data v databázi.
Mě jednou admini na webzdarma.cz smazali stránky, protože jim to řekl jeden jejich známej, kterej mě nemá moc v oblibě. A nebylo tam nic proti podmínkám! Nezablokovali to, rovnou to celý smazali!
djlj
Profil
No tak na freehostingu to to je možný. Ale na placeným se ti nic takovýho nestane ;).
Falcon16
Profil
A jak si myslite, ze session funguji, to by me zajimalo :-) Leo

No pokial viem, tak hodnoty v SESSION sa neukladaju na disk uzivatela, ako Coockies.

Jenom jestli to nevíš, Falcone: Když se založí soubor cookie (uloženej na serveru), tak se ke klientovi uloží to cookie id té session, aby se potom mohla znovu vyvolat

Lenze ten, co by chcel potom zmenit udaje v SESSION, musel by si v Coockies zmenit ID tej SESSION ulozenej na serveri, len neviem, ako by sa niekto triafal do spravneho ID. Aj ked neviem presne ani aky tvar to ID ma, kolko znakov, ci iba cisla alebo aj pismena, pochybujem, ze to pojde nejako zaradom 1,2,3,.... A navyse, zrejme sa nerozlisuje pre ktory hosting to zrovna ID je, takze pripadnou zmenou ID SESSION by sa mozno trafil na SESSION niekho uplne ineho.
tpikalek
Profil *
To ID je náhodně vygenerovaná řada čísel a písmenek. Dá se to přímo v tom scriptu nastavit (nebo myslím i v php.ini), aby to id bylo jiný, ale je to myslím na nic. Jenom, kdybys chtěl to id potom předávat třeba v getu.
Toto téma je uzamčeno. Odpověď nelze zaslat.

0