Elflejtett jelszó rendszer létrehozása
Udv Mindenkinek,
olyan kerdesem lenne, milyen modon induljak el egy olyan jelszoemlekezteto rendszer feljeszteseben, amit PHP-vel kellene megoldanom?
Sajnos a HotScripts.com-on és a Google-ban kapott tutorialok eleg gyengek...
vmi jo otlet kellene!
1. Hogyan taroljam el
2. Hogyan tudom visszafejteni
3. Kelloen biztonsagos legyen (jo ez nem konkret, de fontos lehet)
Udv
Sanyi
xo3_delphi##kukac##freemail.hu
■ olyan kerdesem lenne, milyen modon induljak el egy olyan jelszoemlekezteto rendszer feljeszteseben, amit PHP-vel kellene megoldanom?
Sajnos a HotScripts.com-on és a Google-ban kapott tutorialok eleg gyengek...
vmi jo otlet kellene!
1. Hogyan taroljam el
2. Hogyan tudom visszafejteni
3. Kelloen biztonsagos legyen (jo ez nem konkret, de fontos lehet)
Udv
Sanyi
xo3_delphi##kukac##freemail.hu
Biztonsag
Ha a juzer azt mondja elfelejtette a jelszavat,akkor kuldj neki egy mailt,amiben egy azonositohoz kotod a lenyeget.
Ja es szerintem celszeru letarolni meg a keres idejet is,es akkor pl 24h utan nem lehet mar ezt az azonositot hasznalni. Persze itt mondjuk azert kerdeses,hogy kiadd e a jelszo megvaltoztatas formot erre a lekeresre,vagy a felhasznalo regisztracioban megadott ugynevezett emlekeztetojet iratod ki vele.Nos en az utobbit javasolnam,ugyanis az email-t el lehet csipni akar,es akkor barki megvaltoztathatja a jelszot.
//Hegi
Biztonsag
Ez lesz a jo megoldas az emlekezteto helyett a cegkodot kell neki megadni es megvaltoztathatja a jelszavat
Koszi ezzel mar tovabblephetetk
Szerintem
Jó megoldás lehet, ha az e-mail címére kap egy linket, amellyel új jelszót generálhat.
Ahhoz, hogy ne küldjenek neki napi száz jelszógeneráló e-mailt a haverjai, be lehet állítani napi limitet és lehet egy kérdést feltenni a létező adataiból.
Pl. Mikor születtél? - ha egyezik az adataival, akkor kap csak levelet a linkkel...
--
Szeretettel: Károly György Tamás
kgyt&kgyt.hu - http://kgyt.hu
e-mailes
ip
Sőt! A legelterjedtebb ,,módszer'', hogy beíráskor lelesik a jelszavát...
És végül a haverok megváltoztatják a nemét, meg az érdeklődési köreit... ;-)
Szóval azellen nemvéd.
--
Szeretettel: Károly György Tamás
kgyt&kgyt.hu - http://kgyt.hu
Elflejtett jelszó rendszer létrehozása
annyit meg hozza tennek:
1. hogy ket azonosito(azonosito, cegkod) van es egy jelszo, amivel apellalhatok, ez a hash-es megoldasra gondoltam magam is, csak avval nem lehet visszafejteni az jelszo-t ha elfelejti (hetvegen is kell mukodnie :-) , nem telefonalhat egy uj jelszoert)
2. header('WWW-Authenticate: Basic realm="Private"'); használok a bejelentkezesre MySQL adatbazissal osszekotve, de kell majd egy kulon oldal, ahol ezeket az adminisztracios dolgokat elvegezhetik (elfelejtette a jelszot, uj jelszot akar stb.)
Közben gondolkodtam, lehet hogy felboritom ezt az egeszet es mas megoldas fele nezek, mert ha 2 azonosito van...
Udv
Sanyi
Adminisztracios felulet
Ja,es a 'cegkod' ha jol ertem statikus,belepesnel kapja,mint a juzernevet,en szerintem celszeru meg egy sajat azonositot is generalni ami random,hogy ne lehessen olyan egyszeruen belepni arra az oldalra.
kgyt javasolta a napi limitet,igen ez jo otlet,hiszen ezzel megakadalyozhatod a spam-eket,szerintem naponta 1 kell,ha mar ugy is van benne 24oras idokorlat.
//Hegi
md5(id+CheckSum)
Ennek megfelelően egy id-jük, illetve egy ellenőrzési összegük van, amely mindig fix, utóbbi egyik része a felhasználóra jellemző, a másik egy random számból áll össze (regisztrációkor). A kettőből csinálok egy stringet, amit md5-tel hash-elek, innentől pedig Hegi megoldását tartom a legelőnyösebbnek (de nem jelszóemlékeztetőt kérek be, azt általában elfelejtik, hanem születési évet; ez kevésbé biztonságos, de célravezetőbb).
Szvsz ez is egy elég jól járható út. (Egyébként mit gondoltok róla? Az egész mondjuk ott esik kútba, hogy nem használhatom a mail() függvényt. :/)
Hat igen
Amugy jelszoemlekeztetore mondjuk ha az emberunk egy ra jellemzo dolgot ad meg,pl "Hogy hivjak a macskajat?" akkor arra tudja a valaszt azt nem felejti el.
De igen a mail() nelkul elegge nehez a dolog,ott kiesik az a biztonsag hogy e-mail alapjan kideritsuk hogy valoban a juzer kerte a jelszoemlekeztetest.De pl asszem a freemail-nal(javitsatok ki ha nem jol tom) ott ugy van hogy egybol keri a jelszoemlekeztetot,oan helyen ahol nincs mail() meg ez lehet biztonsagos megoldas.
//Hegi
"random"
A regisztrációkor kapott id-t bárki megnézheti, ha lekéri a felhasználók listáját, így egyedül ezt használni értelmetlen. Az azonosítót, vagy jelszót még beépíthetném a checksum-ba, de azok változnak, így egyszerűbbnek, kiszámíthatóbbnak, átláthatóbbnak találtam egy olyan ellenőrzési ID bevezetését, ami "belső", így csak a rendszer ismeri az eredetét, viszont afféle "kettős próbával", vagy páros ellenőrzéssel elég jól azonosítható vele a felhasználó.
Pl. ha csak ID-ből generálnám az md5 hash-t, azt ugye bárki reprodukálhatná. Viszont az ID+ellenőrzési ID-ből generált hash-t elég nehezen találhatja ki más, nem lehet (nem érdemes, annyi időt emészt fel) visszafejteni, így a cookie-manipulációk ellen - szerintem - aránylag jól védett a rendszer. Ha az ID is, az ell. ID-is egyezik (tehát session-ben, cookie-ban tárolt checksum egyezik), jó eséllyel a megfelelő felhasználóról van szó. Ha bármelyik eltér, a checksum tök más lesz, a felhasználó véletlenül vagy szándékosan megbuherált ezt-azt. Ha meg nincs session, vagy nincs cookie, akkor egyértelmű a helyzet.
(Elnézést, ha "túlmagyaráztam".)
A jelszóemlékeztetőknél magamból indultam ki... :)
Természetesen meggyőzhető vagyok, szóval köszönöm a véleményt, és várom a további javaslatokat!
Ha már szóba került a freemail: mivel ott ugye nem feltétlenül van már e-mail címe a regisztrálónak, így azt az ötletes megoldást alkalmazták, hogy az adataid megadása után még egyszer meg kell adnod a jelszavad. Még nem próbáltam, mi történik, ha akkor rosszat adsz meg, de ez feltétlenül egy kiváló emlékeztető, figyelmeztető megoldás.
Aha...
A freemailt viszont nem hasznalom,de persze lattam mar.
//Hegi
Sessionben csak md5 hash
Ezek szerint tényleg érdemes az IP-t is betenni.
Hogyan érdemes ilyenkor megoldani, hogy a rendszer a usert auto felismerje (pl. beléptesse)? Sry, ha ez itt offtopic, mehet a kérdés máshova is (bár szerintem ez még hasznos lehet az elfelejtett jelszavak kérdésénél is).
Cookieval
Azert nem adtam fel ilyen konnyen,egy alternativat talaltam amirol irjatok meg hogy szerintetek helyes e.
A lenyeg az lenne,hogy egy JS -el megoldani,hogy az X-re kattintva ha van Cookie,akkor futtasson le egy PHP scriptet,ami generel egy kilepesi azonositot,es azt helyezze el a DB-ben meg egy Cookie-ban.Ezt az egy megoldast talaltam erre a problemara,mer ugye ha mar kilepett az oldalrol,akkor mar nem tudjak ravenni hogy ellopjak tole ezt az azonositot.Szoval valami ilyen megoldas amit en jarhatonak tartok.Persze belepeskor azonnal toroljuk a kilepesi azonositot,ha letezik.(Kilepesi azonosito akar a kilepes ideje time()-ban)
Oszinten ez ami valamely biztonsagot nyujt,de szerintem jobb megoldas ha mindig be kell jelentkeznie az emberunknek,sot idokorlatot is erdemes bevezetni,ha X percig nem kattint akkor ne legyen ervenyes a session-je,hanem ujra be kelljen lepnie.
//Hegi
Érdekes megoldás
Én is utánaolvastam, de még igazából itt, a weblaboron (a világ közepe :D) sem született erre igazán elegáns megoldás (vagy nem találtam meg).
Bevallom, a JS-ben, illetve az ezzel kapcsolatos megoldásokban nem igazán bízom. Legjobb tudomásom szerint a netezők 10-12%-a "lekapcsolja" a JS-t, ami igen komoly arány.
Mindenesetre előbbre jutottam a fentiekkel, még egyszer kösz.
Ha olyan hülye,h
ferenc voltam
Visszafejtés
Burgermeiszter Zoltán
one-way encryption
Egész pontosan nem is kódolásra találták ki, hanem adategyezés ellenőrzésére: változó hosszúságú stringből fix, 128 bites "azonosítót" hoz létre, amelyet aztán összevethetsz pl. egy beküldött anyag hasonló md5 hash-ével, vagy letöltésnél is használható amolyan "crc-ként".
Ha jelszavakról van szó, akkor nem feltétlenül ez az üdvözítő út.
Valahol pár éve egyébként mintha azt olvastam volna, hogy az md5-tel kódolt string is visszafejthető, csak számítási kapacitás, meg "némi idő" kell hozzá. ,)
Meg aztán nemrégiben hallottam olyat is, hogy elméletileg lehetséges két különböző stringből egyező md5 hash-t létrehozni, de egyrészt gyakorlatilag erre még nem volt példa, másrészt nem igazán bizonyították a dolgot.
Szóval ezeket inkább csak az érdekesség kedvéért írtam.
Nekem PHP-ba kellene
Csak kód vagy függvény jöhet szóba, mivel ingyenes tárhelyről szeretném majd futtatni a kódot.
Jelszó ismeretében egyszerű
Ha jól értettelek, akkor nem is kell ezt visszafejtened, mert ha ismered a jelszót, akkor azt egy ecrypt() vagy md5() fv-nyel titkosítod, s így hasonlítod össze a másik, eleve titkosított jelszócal. Üdv:
Mr.Tiny :: MRT Site
Sajna nem értettél jól.
Nos, létezik ilyen kód? Pls segítsen vki!
Szia,
ha van a szerveren mcrypt akkor azzal:
http://hu.php.net/manual/hu/ref.mcrypt.php
Leírás példákkal:
http://phpdocs.tsn.dk/da/function.mcrypt-encrypt.html
Nagyon köszönöm a