Wachtwoord onthouden
http://www.bitrepository.com/php-autologin.html. Is dit een goed script? Het wachtwoord is alleen met een md5() encoding opgeslagen. Maar je kunt toch niet met een random salt werken aangezien je geen connectie met de database hebt? Moet ik dan een standaard salt gebruiken of iets dergelijks? Kan iemand me verder op weg helpen?
Gr Jordy
Kan iemand mij helpen met een "Wachtwoord onthouden" script? Dit wachtwoord moet dan worden opgeslagen in een cookie. Ik heb het volgende script gevonden: Gr Jordy
Gewijzigd op 16/02/2011 22:01:17 door Jordy nvt
NOOIT een wachtwoord op in een cookie.
Over die salt, heb je een vorige topic van jezelf wel doorgelezen?
Je slaat Over die salt, heb je een vorige topic van jezelf wel doorgelezen?
Ik kan geen salt in een database opslaan. Want als ik bv een salt met microsekonden maak moet ik deze microsekonden toch ook in de database opslaan? Want anders weet het script niet welke salt het moet gebruiken...?
En je zegt dat je geen wachtwoord in een cookie op moet slaan? Hoe wil je anders een "onthoud mij" optie maken? Phphulp heeft dat toch ook?
Gr Jordy
De onthoud mij optie zorgt toch alleen dat de gebruikersnaam/E-mail adres wordt ingevuld of niet?
Nee, ik ben namelijk bezig met een site waarmee iemand met gebruikersnaam en wachtwoord kan inloggen op vijf verschillende sitegedeeltes (Afdeling I t/m Afdeling V). Zodra je juist bent ingelogd komen er op de plek van het inlogformulier links naar de beschermde onderdelen. Maar als iemand de "onthoud mij" optie heeft ingeschakeld hoeft hij dus niet in te loggen en ziet hij meteen de links naar de afdelingen.
Waarom zou dit niet met sessies kunnen?
Jordi kroon op 16/02/2011 23:13:12:
Waarom zou dit niet met sessies kunnen?
Precies. Of gewoon een unieke waarde.
Het veiligst lijkt me gewoon een random string (of UUID) die je in de cookie en in de database opslaat.
Maar waarom doen eigenlijk alle sites het dan via cookies? Als je een wachtwoord met een standaard salt encode is het tock ook goed?
B: NOOIT een wachtwoord in een cookie, hoe makkelijk wil jij het hackers maken?
Jij moet dat niet doen.
Je kan toch, zoals ik zei, cookies gebruiken (echt de enige mogelijkheid) zonder het wachtwoord er in te stoppen?
Indien de gebruiker de checkbox aanklikt met "ingelogd blijven"
Op de server houd je bij: UUID, IP, tijd, user_id
Bij de client sla je dat UUID op in een cookie
Eventtueel houd je bij: tijd_laatst_actief en tijd_laatst_manueel_ingelogd
Kwestie dat de gebruiker bv. om de maand toch eens moet opduiken en om de drie maanden toch eens manueel inloggen
De cookie stuurt dat UUID op en je (de server) vergelijkt of het IP overeen komt.
Indien dat het geval is, ken je de user en kan je die als ingelogd beschouwen
Gewijzigd op 17/02/2011 11:16:21 door Kris Peeters
Kent iemand een script waarbij de "onthoud mij" optie wel veilig is? Ik kan ze namelijk alleen met cookies vinden.
Gewijzigd op 17/02/2011 11:47:12 door Jordy nvt
Jordy nvt op 17/02/2011 11:46:55:
Maar op sommige hele bekende websites staat er een cookie met password in versleutelde tekens (40 tekens lang, dus sha-1).
(...)
(...)
Wie heeft gezegd dat dat het password is? Als het hele bekende websites zijn (geen idee wat jij hele bekende websites noemt) dan zullen ze hoogst waarschijnlijk geen password in een cookie stoppen (iig niet websites die ik heel bekend noem).
Zoals al eerder vermeld, gebruik een unieke string. Een sha1 string van een aantal zaken kan ook een unieke string opleveren.
Ja, geef eens 1 voorbeeld van een grote site waar paswoorden in de cookies staan
Maar ik snap niet waarom mensen cookies als 'onveilig' en daarom 'onbruikbaar' beschouwen...
Pim - op 17/02/2011 12:22:04:
Maar ik snap niet waarom mensen cookies als 'onveilig' en daarom 'onbruikbaar' beschouwen...
Wie zijn bij jou mensen? Dus naar wie verwijs jij?
Ik heb het ook over cookies, maar mijn punt is dat je er geen wachtwoord in moet opslaan.
Maar is mijn volgende plan van aanpak dan goed:
Gebruiker logt in en vinkt "Onthoud mij" aan.
Een cookie name wordt aangemaakt met als waarde de naam [gebruikersnaam], dus bijvoorbeeld Jordy.
Ook wordt er een cookie aangemaakt met daarin een md5() van het ipadres.
In de database wordt vervolgens een entry aangemaakt met daarin de loginnaam, id en ip adres van de gebruiker.
Als een speler dus naar de website gaat en de cookies komen overeen met de database velden, dan is de speler ingelogd en is de wachtwoord controle overbodig: De speler gaat direct door naar de beveiligde pagina.
Ik heb twee stukken schuingedrukt, want daar ben ik het niet zeker over.
- Ten eerste vraag ik me af of een md5() van het ipadres wel veilig is, want iemand kan het toch zo nabootsen? Dan moet ik een salt gebruiken, maar dan kan ik net zo goed het wachtwoord opslaan?
- Is een controle inderdaad overbodig, want kan een speler niet op een andere (niet toegestane) manier toegang tot het beveiligde gedeelte krijgen?
Hopelijk kan iemand helpen.
Gr Jordy
En 1 genaamt hash or what so ever en je maakt een fancy hash van een combinatie van dingen zoals zijn userid/email en niet te vergeten een eigen toevoeging zoals jouw salt of gewoon unique id. Je maakt er wat leuks van en rost dat in de database.
Dan als meneer weer op de site komt en userid en hash cookies bestaan kan je kijken of die kloppen met wat er in je database staat en of zijn ip ook klopt met wat jij hebt staan bij het aanmaken van die cookie en dan zal het hem wel zijn en kan meneer zo doorlopen
En is een extra controle om in te loggen dan overbodig, of is de controle die je in bovenstaande post meldt genoeg om te controleren voor toegang tot het beveiligde gedeelte?