Remember me in PHP

Status
Niet open voor verdere reacties.

martijn12321

Gebruiker
Lid geworden
14 nov 2011
Berichten
827
Hallo,

Ik heb een loginsysteem gemaakt die met sessions werkt. Nu wil ik dat users op een remember me knopje kunnen drukken.
Ik heb al even gezocht, maar ik vind op het internet alleen mensen die gewoon de username opslaan, andere zelfs het (gehashte) wachwoord (soms zelfs dat niet). Op de rest van het internet vond ik alleen mensen die zeiden dat dit heel onveilig was. Maar hoe kan ik het dan het beste doen?

Heel erg bedankt!! :)
 
Als je het zelf wilt ontwikkelen kun je hetvolgende doen:

- De gebruiker klikt op remember me
- Systeem maakt in de db tabel 'sessies' een row aan met userid, sessie_id (bijv. unique id of he session_id()) en het ip nummer van de gebruiker.
- Maak een cookie aan met het sessie_id als waarde

Bij het inloggen check je of de cookie bestaat
- zo ja -> check in de tabel sessies of het sessie_id overeenkomt met de waarde van het cookie en check het ip
- Bij een match kun je een nieuwe PHP session maken met de username en password uit de db

Zo hoef je nooit gevoelige informatie in een cookie te bewaren.

Succes!
 
Hé ja da's een slimme, zeker met die ip check ernaast zodat mensen niet random dingen kunnen proberen!
Heel erg bedankt!!!!!! :thumb:
 
Bij mij krijgt iedereen een sleutel op het loginformulier er zijn enkele sleutels per sec juist er een instelbaar per uur en per dag juist.
iedereen dient bij login een sleutel aan te bieden sleutel vervald in een login of niet login
hierdoor kan ik de gebruiker bij het inloggen telkens een andere waarde laten opsturen zonder dat de vorige bruikbaar is.
hierdoor kun je ongewenst misbruik gaan detecteren omdat indien je met een vorige sleutel af komt dit onmiddelijk te detecteren valt.
het enkel een sugestie indien je nog veiliger wil gaan
 
In elke web-applicatie zit een achterdeur die open staat :d :d :d

**edit
Bekijk mijn bron (htaccess en 10 security tips)
 
Laatst bewerkt:
kenikavanbis: Sorry, ik snap het niet helemaal? Bedoel je dat de user zelf de max tijd van de key kan kiezen?

bron: Ja klopt, maar je kan van een gigantische poort wel proberen een kattenluikje of nog kleiner maken ;)
 
Ja klopt, maar je kan van een gigantische poort wel proberen een kattenluikje of nog kleiner maken
Vandaar het linkje naar mijn verhaal over security :d en dan staan er nog steeds kattenluikjes open :(
 
kenikavanbis: Sorry, ik snap het niet helemaal? Bedoel je dat de user zelf de max tijd van de key kan kiezen?

bron: Ja klopt, maar je kan van een gigantische poort wel proberen een kattenluikje of nog kleiner maken ;)
Staat standaard af in de (mijn) cms maar bij mij staat die altijd op en tijden kan je zelf bedenken.Die is enkel voor de administrator
elke overtreding kan worden gemeld zodat je ook wel weet als een sleutel max 3sec oud mag zijn kan bedenken dat het inloggen niet evident is
dus:
u kan bijvoorbeeld het wachtwoord raden maar de sleutel vervald dan zal je met volgende form maar moeten inloggen.Een gewone gebruiker denkt meestal dat hij een letter mistypte en zal opniew aanzetten met het juiste en zal slagen in een inlog maar als door de te vele pogingen de sleutels vals worden (dit betekende dat alle huidige logins blijven maar users kunnen niet meer inloggen binnen een bepaalde tijd van een paar minuten)in gebruikers termen lijkt het weinig en mensen gaan dat niet snel merken omdat de kans dat 50 logins te gelijk inloggen vrij uniek zou zijn en onbestaande is op mijn site dus kan ik stellen dat ik dit hier kan beperken. dit maakt dat u kan detecteren of mensen uw systeem aanvallen maar en dat als zij toevallig een juiste waarde opsturen toch niet kunnen inloggen doordat er geen sleutels zijn voor bepaalde tijd.

het is niet 100 % veilig maar toch al veel uitsluiten.
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan