hanaalkadri / educom-webshop-basis

0 stars 0 forks source link

Mensen met een | symbool in hun password kunnen niet meer inloggen #24

Open JeroenHeemskerk opened 1 year ago

JeroenHeemskerk commented 1 year ago

Doordat je een explode gebruikt waarbij het | teken als separator wordt gebruikt: https://github.com/hanaalkadri/educom-webshop-basis/blob/04dc111e0d495bf9f73f9bd95bd64c36478dbf88/register.php#L93-L94 Krijg je dat als dit teken in het password zit van een gebruiker, deze heeft dan een probleem wordt bij het inloggen.

Wat je kan doen is zeggen als 3de parameter aan explode een aantal kolommen meegeven en dan wordt alles achter de tweede | als password gezien.

// 4. breek de regel in brokjes met explode() 
 $parts = explode("|",$row, 3);
JeroenHeemskerk commented 1 year ago

Als extra zou je kunnen controleren of de lengte van het $parts array == 3, als dat niet het geval is, is je userfile corrupt en kan je er met een throw Exception uit springen.