Actuele tutorial voor login
Ik ben opzoek naar een actuele tutorial om een registratie en login systeem (het liefst met e-mail verificatie) te maken.
Velen zaken zijn er op het internet te vinden. Daarom zien we door de bomen het bos niet meer. Kan iemand mij helpen aan iets wat actueel en veilig is?
Zelf zou ik PHP-sessies gebruiken, en password_hash / _verify() gebruiken voor de opslag van wachtwoorden. Een beveiliging tegen brute-force is ook wel handig, zodat accounts per IP-adres tijdelijk geblokkeerd worden.
Als je passworden opslaat, stuur deze nooit via mail.
Ik zou zeggen: Bouw eens een opzetje en laat het eens reviewen.
Gewijzigd op 09/02/2017 16:17:04 door - Ariën -
- Ariën - op 09/02/2017 16:04:13:
Dat kan, maar het kan ook geen kwaad om te weten hoe functies werken die je er aan toevoegt.
Zelf zou ik PHP-sessies gebruiken, en password_hash / _verify() gebruiken voor de opslag van wachtwoorden. Een beveiliging tegen brute-force is ook wel handig, zodat accounts per IP-adres tijdelijk geblokkeerd worden.
Als je passworden opslaat, stuur deze nooit via mail.
Ik zou zeggen: Bouw eens een opzetje en laat het eens reviewen.
Zelf zou ik PHP-sessies gebruiken, en password_hash / _verify() gebruiken voor de opslag van wachtwoorden. Een beveiliging tegen brute-force is ook wel handig, zodat accounts per IP-adres tijdelijk geblokkeerd worden.
Als je passworden opslaat, stuur deze nooit via mail.
Ik zou zeggen: Bouw eens een opzetje en laat het eens reviewen.
Agree, denk echter ook aan andere dingen:
- Session Hijacking
- Minimale password lengths
- Ga geen (onnodige) rommel in Cookies of andere ongein duwen
- etc
Echter vraag ik me af of je dit zelf moet willen bouwen. Begrijp me niet verkeerd: het is enorm leerzaam (en leuk), maar wellicht is een standaard oplossing/framework handiger ?
Zorg dan liever eerst dat je bekend raakt met functies, de werking ervan in de praktijk, en later de werking en bedoeling van OOP.
Een tutorial is ook leuk, maar ik twijfel eraan of de geschikte tutorial bestaat, Iedereen heeft weer een eigen visie op bepaalde zaken dat er altijd wel wat haken en ogen aan zal zitten. Daarom is het beter om gewoon te weten wat je precies doet. En natuurlijk zijn we hier op PHPhulp om eventuele code te reviewen en daar desnoods discussies over op te werpen.
- Ariën - op 09/02/2017 18:38:04:
Een framework voor een beginner is in mijn ogen een 'no-go'.
Zorg dan liever eerst dat je bekend raakt met functies, de werking ervan in de praktijk, en later de werking en bedoeling van OOP.
Een tutorial is ook leuk, maar ik twijfel eraan of de geschikte tutorial bestaat, Iedereen heeft weer een eigen visie op bepaalde zaken dat er altijd wel wat haken en ogen aan zal zitten. Daarom is het beter om gewoon te weten wat je precies doet. En natuurlijk zijn we hier op PHPhulp om eventuele code te reviewen en daar desnoods discussies over op te werpen.
Zorg dan liever eerst dat je bekend raakt met functies, de werking ervan in de praktijk, en later de werking en bedoeling van OOP.
Een tutorial is ook leuk, maar ik twijfel eraan of de geschikte tutorial bestaat, Iedereen heeft weer een eigen visie op bepaalde zaken dat er altijd wel wat haken en ogen aan zal zitten. Daarom is het beter om gewoon te weten wat je precies doet. En natuurlijk zijn we hier op PHPhulp om eventuele code te reviewen en daar desnoods discussies over op te werpen.
Eens!
Dan moet je jouw inlog nogmaals bevestigen met een speciale app, zoals de Google Authenticator app. Zie dit als een optionele extra laag bij het authenticeren van een gebruiker.
Ik ben er ook mee aan het spelen op dit moment.
https://www.securenvoy.com/two-factor-authentication/what-is-2fa.shtm
Gewijzigd op 09/02/2017 20:15:07 door - Ariën -
reactie van @Ward in een andere thread.
Mogelijk enigszins gedateerd, maar de materie is zeker interessant (check vooral de user comments) over een aanpak met user agent + random string.
En misschien kun je dit nog een stap verder voeren door dit systeem IP-loos te maken, mogelijk met behulp van informatie uit een Mogelijk enigszins gedateerd, maar de materie is zeker interessant (check vooral de user comments) over een aanpak met user agent + random string.
Even voor de duidelijkheid: ik wil de wachtwoorden niet mailen dat is onveilig. Wat ik wil is een activatie link per mail.
Templates bestaan er ook. Ik denk dat Google wel wat vindt als je op 'HTML5 Login Template' zoekt.
Er zal mij vast van alles te verwijten zijn! Maar ik zoek op templates en kom dan ook van alles tegen maar geen enkele met een database erachter. Hoe kan dat?
Die moet je dan zelf inbouwen. Opsich is een inlogsysteem niet zo heel moeilijk te bouwen, en ook een mooie praktische opdracht als je PHP zou willen leren.
Om even een quote te citeren uit een topic van gisteren:
Quote:
Het beste is om gebruik te maken van PHP Sessies en de opslag in een MySQL database, gebruikmakend van de mysqli-functies.
Eerst controleer je of de velden zijn ingevoerd, en dan of de gebruikersnaam en/of het wachtwoord -die in de database zijn opgeslagen- correct zijn. Indien dit niet het geval is toon je een foutmelding. Daarna kan je een controle doen of iemand niet verbannen cq. niet geactiveerd is. En als alles goed is, dan plaats je een PHP sessie, waarmee je aan de bezoeker zijn computer duidelijk maakt dat hij is ingelogd.
Verder is het verstandig het wachtwoord met de functies password_hash en password_verify op te slaan en te controleren. Gebruik liever geen md5() omdat dit tegenwoordig zéér onveilig is bij inlogsystemen.
Eerst controleer je of de velden zijn ingevoerd, en dan of de gebruikersnaam en/of het wachtwoord -die in de database zijn opgeslagen- correct zijn. Indien dit niet het geval is toon je een foutmelding. Daarna kan je een controle doen of iemand niet verbannen cq. niet geactiveerd is. En als alles goed is, dan plaats je een PHP sessie, waarmee je aan de bezoeker zijn computer duidelijk maakt dat hij is ingelogd.
Verder is het verstandig het wachtwoord met de functies password_hash en password_verify op te slaan en te controleren. Gebruik liever geen md5() omdat dit tegenwoordig zéér onveilig is bij inlogsystemen.
https://www.youtube.com/watch?v=c_hNNAdyfQk&list=PLfdtiltiRHWF5Rhuk7k4UAU1_yLAZzhWc Daar hebben we zelfs een sessie tabel.
Echter kom ik maar niet tot hetgeen ik graag zou willen. Dat is het volgende: Account activatie via E-mail link en 2 wachtwoord reset via E-mail link.
Wie kan mij op weg helpen?
Ik heb al vele tutorials gezien en bekeken. Waaronder deze: Echter kom ik maar niet tot hetgeen ik graag zou willen. Dat is het volgende: Account activatie via E-mail link en 2 wachtwoord reset via E-mail link.
Wie kan mij op weg helpen?
Account activatie lijkt mij iets wat aan het einde van een registratie wordt opgepakt? Sla een soort van hash op bij een gebruikersprofiel en mail de activatielink naar de gebruiker? Vervolgens heb je een activatiescriptje nodig die de hash uitleest en indien deze correct is activeer je het account. Dit lijkt mij niet moeilijk?
Wachtwoord reset is meer een meerstappenplan. Je wilt namelijk niet dat iemand te pas en te onpas jouw wachtwoord kan resetten. Eerst stuur je dus een verzoek op grond van een e-mail. Dit resulteert in een mail vanaf de webserver naar jou terug met opnieuw een hash waarmee je op een pagina met een reset-script (voor beperkte tijd) een nieuw wachtwoord kunt opgeven.
Teken het eerst eens uit voordat je in code gaat denken. Denk in pagina's en (gebruiker)acties. Dan pas aan code.