login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Login script (non-mysql) gemaakt, is dit veilig?

Offline Nrzonline - 28/02/2006 08:49
Avatar van NrzonlinePHP ver gevorderde Hey SIMA mensen!

Ik ben bezig geweest met een login script voor een vriend. Hij wou
geen gebruik maken van een mysql database omdat hij daar nog
niets van snapt, en dus liever een aanpasbaar php scriptje wil
hebben. Dat heb ik geprobeerd, en dit is de eerste keer dat ik een
non-mysql login scriptje heb gemaakt. Niet afgekeken van andere
scripts of iets dergelijks, dus ik weet niet of hij wel echt veilig is...
Daarom zou ik jullie willen vragen of dit script veilig is..

www.runescapeforum.net/login?page=login

Hier het script:

LOGIN.PHP
  1. <?PHP
  2.  
  3.  
  4. if (isset($_COOKIE['cook_login']))
  5. {
  6. echo "U bent al ingelogged";
  7. }
  8. else
  9. {
  10. if (isset($_POST['login_account']))
  11. {
  12. $ErrorArray = array();
  13.  
  14. if (empty($_POST['user_name']))
  15. $ErrorArray[] = "Vul gebruikersnaam in<br>";
  16. if (empty($_POST['user_password']))
  17. $ErrorArray[] = "Vul wachtwoord in<br>";
  18.  
  19. if (count($ErrorArray) > 0)
  20. {
  21. echo "<ul>";
  22. for ($i = 0; $i < count($ErrorArray); $i ++)
  23. {
  24. echo "<li>" . $ErrorArray[$i] . "</li>";
  25. }
  26. echo "</ul>";
  27. }
  28. else
  29. {
  30. $use_username = strtolower($_POST['user_name']);
  31. if (in_array($use_username, $username))
  32. {
  33. if ($_POST['user_password'] == $password[$use_username])
  34. {
  35. setcookie("cook_login", $use_username . ";" . $_POST['user_password'], time()+3600*24*31*1, "/");
  36. echo stripslashes("Je bent nu ingelogged, je kunt nu naar de beveiligde pagina\'s gaan");
  37. }
  38. else
  39. echo "Gebruikersnaam en Wachtwoord komen niet overeen";
  40. }
  41. else
  42. echo "Ongeldige Gebruikersnaam";
  43. }
  44. }
  45. else
  46. {
  47. echo "<table width='500' cellspacing='1'>";
  48. echo "<form action='' method='post'>";
  49.  
  50. echo "<tr><td width='300'> <b>Gebruikersnaam:</b> </td>";
  51. echo "<td> <input name='user_name' type='text' maxlength='20' size='20'> </td>";
  52.  
  53. echo "<tr><td width='200'> <b>Wachtwoord:</b> </td>";
  54. echo "<td> <input name='user_password' type='password' maxlength='20' size='20'> </td>";
  55.  
  56. echo "<tr><td colspan='2'><div align='center'> <input name='login_account' type='submit' value='Inloggen!'> </div></td>";
  57.  
  58. echo "</form>";
  59. echo "</table>";
  60. }
  61. }
  62.  
  63. ?>


CONFIG.INC.PHP
  1. <?PHP
  2.  
  3. $username[] = "edwin";
  4. $username[] = "edzard";
  5.  
  6. $password['edwin'] = "terhorst";
  7. $password['edzard'] = "poppema";
  8.  
  9. $page[] = "home";
  10. $page[] = "login";
  11.  
  12. ?>


Er zit ook een stukje navigatie script in, maar die laat ik
achterwegen, want dat zit wel KnoR...

2 antwoorden

Gesponsorde links
Offline Voldemort - 28/02/2006 10:21
Avatar van Voldemort PHP ver gevorderde Het is NIET veilig. Je moet je POST inhoud controleren. Als men schadelijke dingen erin typt, en jij zet daarmee allemaal dingen kan men rare JS dingen uithalen of als je SQL gebruikt je hele DB droppen. Dus even htmlentities($var,ENT_QUOTES); over je postinhoud gooien en het zal al veel beter zijn.
Offline ikkedikke - 28/02/2006 10:53
Avatar van ikkedikke PHP expert wat is dat voor onzin? hij checkt of de waarde precies dat wachtwoord is, hoe kan er dan javascript in zitten?
wat wel zo is dat je ook de waarde van de cookie moet checken voordat iemand zomaar ingelogd is. het is namelijk niet zo moeilijk om een cookie na te maken.
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2025 Sitemasters.be - Regels - Laadtijd: 0.305s