Actuele tutorial voor login

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Rubensky PHP starter

Rubensky PHP starter

09/02/2017 14:51:40
Quote Anchor link
Mensen,

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?
 
PHP hulp

PHP hulp

19/04/2024 18:17:53
 
- Ariën  -
Beheerder

- Ariën -

09/02/2017 16:04:13
Quote Anchor link
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.
Gewijzigd op 09/02/2017 16:17:04 door - Ariën -
 
Niek s

niek s

09/02/2017 18:02:48
Quote Anchor link
- 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.


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 ?
 
- Ariën  -
Beheerder

- Ariën -

09/02/2017 18:38:04
Quote Anchor link
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.
 
Niek s

niek s

09/02/2017 18:47:20
Quote Anchor link
- 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.


Eens!
 
Marlies Maalderink

Marlies Maalderink

09/02/2017 20:04:24
 
- Ariën  -
Beheerder

- Ariën -

09/02/2017 20:14:55
Quote Anchor link
Als je het helemaal veilig wilt hebben, gebruik dan 2FA (Two Factor Authentication).
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 -
 
Thomas van den Heuvel

Thomas van den Heuvel

10/02/2017 09:20:12
Quote Anchor link
En misschien kun je dit nog een stap verder voeren door dit systeem IP-loos te maken, mogelijk met behulp van informatie uit een 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.
 
Rubensky PHP starter

Rubensky PHP starter

11/02/2017 21:03:37
Quote Anchor link
Dank voor de reacties! Als ik het goed begrijp bestaan er ook complete templates?

Even voor de duidelijkheid: ik wil de wachtwoorden niet mailen dat is onveilig. Wat ik wil is een activatie link per mail.
 
- Ariën  -
Beheerder

- Ariën -

11/02/2017 21:13:11
Quote Anchor link
Templates bestaan er ook. Ik denk dat Google wel wat vindt als je op 'HTML5 Login Template' zoekt.
 
Rubensky PHP starter

Rubensky PHP starter

14/02/2017 10:53:11
Quote Anchor link
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?
 
- Ariën  -
Beheerder

- Ariën -

14/02/2017 11:10:48
Quote Anchor link
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:
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.
 
Rubensky PHP starter

Rubensky PHP starter

16/02/2017 14:22:43
Quote Anchor link
Ik heb al vele tutorials gezien en bekeken. Waaronder deze: 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?
 
Thomas van den Heuvel

Thomas van den Heuvel

16/02/2017 14:38:30
Quote Anchor link
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.
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.