Terug naar de voorpagina
Home Nieuw Vraag & Aanbod Forums Artikelen Bedrijvengids Zoeken

Vorige | 1 | 2 | Volgende 11 - 18 van 18

   Rogier B., Particulier
14 okt 2011 11:19 
Na het uitvoeren van de query moet je controleren of er een resultaat is gevonden voor de betreffende gebruikersnaam/wachtwoord combinatie. Indien dat niet het geval is geef je een melding dat de inloggegevens niet correct zijn.

Sowieso is je code naar mijn mening niet goed. Tegen injectie controleren moet je bijvoorbeeld voor/in de query doen en niet erna. Het wachtwoord in een cookie stoppen, ik zou het niet doen. En ga zo nog maar even door...

   R. van Akker, Permanente ban
14 okt 2011 11:22 
Bedankt Rogier!
Ik zal er aan werken.
En over het wachtwoord stoppen in een cookie hoe moet dat dan anders?
Je kan ook met sessions werken heb ik gezien.

EDIT:
Maar hoe zorg ik ervoor dat die dat controleert?
Kan je een klein stukje code meegeven?

     Aangepast op 14-10-2011 11:23 door R. van Akker
   Paul G., Particulier
14 okt 2011 12:42 
$res = mysql_query("SELECT * from leden WHERE
naam = '". $_POST['naam'] ."' AND
pass = '". md5($_POST['pass']) ."'");

en dan
$number = MYSQL_NUMROWS($res);
if $number = 1 {
inlog deel uitvoeren
} else {
niet ingelogd en fouten afhandelen en terug
}

   R. van Akker, Permanente ban
14 okt 2011 13:15 
@paul

Heel erg bedankt voor je code! :)
Maar wat moet er staan in: inlogdeel uitvoeren?
Ik weet wel wat bij de else moet maar niet bij het inlog deel

   Rogier B., Particulier
14 okt 2011 13:18 
Dan moet je dus de cookie/session zetten waaruit je kunt opmaken dat iemand is ingelogd.

   R. van Akker, Permanente ban
14 okt 2011 13:25 
Dus je bedoeld dat die dan een cookie/session moet aanmaken?

EDIT:

Dus zo?
$number = mysql_num_rows($res);
if $number = 1 {
setcookie("login", "1", time()+3600*24); //1 dag
setcookie("naam", $_POST['naam'], time()+3600*24);
setcookie("pass", md5($_POST['pass']), time()+3600*24);
}else{
echo 'Gebruikersnaam/Wachtwoord klopt niet. <a href="http://www.mybuddies.byethost2.com/login.php">Probeer het opnieuw</a>';
}

     Aangepast op 14-10-2011 13:28 door R. van Akker
   Martijn Dwars, 2Bytes
14 okt 2011 14:13 
Ik zou persoonlijk het wachtwoord niet opslaan in een cookie, ook niet na md5-ecryptie. Dat heeft namelijk grote consequenties voor de veiligheid van je systeem. Maar verder zit je goed met je code. Je moet even haakjes om je if-statement zetten. Houd er daarnaast rekening mee dat een enkele is ('=') een toekennings operator is, en een dubbele een vergelijkings operator, dus je bedoelt waarschijnlijk:

if ($number == 1) {


Wat ik zelf als best practice aanhoud is om cookies HTTP only te maken. Dat doe je door de $httponly flag op true te zetten in de setcookie methode. Maar ik ben bang dat het daardoor iets te ingewikkeld wordt.

     Aangepast op 14-10-2011 14:15 door Martijn Dwars
   R. van Akker, Permanente ban
14 okt 2011 14:21 
EDIT 3:

Laat maar!
Het probleem is opgelost.
Ik heb even opnieuw een scriptje gemaakt maar dan met sessie's.
Nu werkt die :D
Nogmaals heel erg bedankt voor jullie hulp!!:D

     Aangepast op 14-10-2011 15:42 door R. van Akker
   Jordy van D., Particulier
14 okt 2011 15:56 
Ik zou gebruik maken van een cookie. Met sessies is het zo dat als je de browser sluit dat je uitgelogd bent.

Je kan een cookie setten waarin je een hash code in opslaat en dezelfde hash ook in de db zet met het ip nummer en eventueel user-agent. Mocht de gebruiker opnieuw op de site komen, kijk je of er een cookie bestaat, zo ja, check of de hash code bestaat in de db zo ja, check of het ip gelijk is en of de user-agent gelijk is. Zo ja, is de gebruiker ingelogd .


Vorige | 1 | 2 | Volgende 



 
© Copyright TargetMedia 2001-2012 | Mobile | Premium SMS | Micropayments | Muziek downloaden | Ringtones Bekijk bezoekers statistieken RSS feed