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?
Een template is een basisopzet met vormgeving. Hier zit dan geen werkend systeem achter.
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:
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 [php]password_hash[/php] en [php]password_verify[/php] op te slaan en te controleren. Gebruik liever geen md5() omdat dit tegenwoordig zéér onveilig is bij inlogsystemen.
Maak voor jezelf eerst een functioneel ontwerp. Dus wat gebeurt er, los van techniek, achter elkaar. Welke schermen ziet een gebruiker, welke formulier(element)en heb je? Als je die flows/scenario's hebt opgezet dan heb je een compleet ontwerp van wat er moet gebeuren, je hoeft het dan enkel nog te implementeren.
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.