login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Is dit veilig?

Offline Duikboot - 04/10/2004 14:30
Avatar van DuikbootGrafische gevorderde Hallo,
Ik heb mijn admin panel met een if en else beveiligd, maar ik weet niet of het echt veilig is. Het gaat niet om persoonlijke gegevens, maar gewoon dingen in de db adden etc. Ik heb het als volgt gedaan.
  1. <?
  2. if($gebruikersnaam == Webmaster){
  3. // admin hier
  4. }
  5. else{ }
  6. ?>


Is dit goed beveiligd?

19 antwoorden

Gesponsorde links
Offline numlockrond - 04/10/2004 14:33
Avatar van numlockrond Onbekend Waar komt $gebruikersnaam vandaan ??

strings tussen quotes: "Webmaster"
Offline sasser - 04/10/2004 14:36
Avatar van sasser PHP interesse ja het is veilig;-)
Offline petory - 04/10/2004 14:38
Avatar van petory HTML interesse
  1. <?
  2. if($gebruikersnaam == "webmaster" AND $wachtwoord == "12345"){
  3. // admin hier
  4. }
  5. else{ }
  6. ?>


is altijd nog beter ;)
Offline Duikboot - 04/10/2004 14:49 (laatste wijziging 04/10/2004 14:54)
Avatar van Duikboot Grafische gevorderde De $gebruikersnaam komt van de sessie die gestart word (zou niet weten waarom hij dan de gebruikersnaam onthoud, maar tis nu eenmaal zo ) Dus we zijn het er over eens dat dit gewoon veilig is?

EDIT: Heb nog een probleempje. Als ik priveberichten op mijn site bekijk worden er geen brakes ingevoegd aan het eind van de tabel, maar word het zaakje uitgerekt. De code klopt neit helemaal, maar wat meot ik eraan veranderen?

  1. <?
  2. <b>Van:</b> <a href="profiel.php?mid=<? echo $object->van ?>"><? echo $a ?></a><br>
  3. <b>Naar:</b> <? echo $b ?><br>
  4. <b>Verzonden:</b> <? echo $object->datum ?><hr color="#000000" width="60%" size="1\">
  5. <?
  6. $bericht = $object->bericht;
  7. $bericht = htmlspecialchars($bericht);
  8. $bericht = nl2br($bericht);
  9.  
  10. $bericht = str_replace("\n","<br>",$bericht);
  11. $bericht = str_replace(" ","&nbsp;",$bericht);
  12. $bericht = str_replace(":]","<img src=\"img/smiles/laugh.gif\">",$bericht);
  13. $bericht = str_replace(":-]","<img src=\"img/smiles/laugh.gif\">",$bericht);
  14. $bericht = str_replace(":)","<img src=\"img/smiles/smile.gif\">",$bericht);
  15. $bericht = str_replace(":-)","<img src=\"img/smiles/smile.gif\">",$bericht);
  16. $bericht = str_replace(":D","<img src=\"img/smiles/biggrin.gif\">",$bericht);
  17. $bericht = str_replace(":-D","<img src=\"img/smiles/biggrin.gif\">",$bericht);
  18. $bericht = str_replace(":P","<img src=\"img/smiles/tongue.gif\">",$bericht);
  19. $bericht = str_replace(":-P","<img src=\"img/smiles/tongue.gif\">",$bericht);
  20. $bericht = str_replace(":p","<img src=\"img/smiles/tongue.gif\">",$bericht);
  21. $bericht = str_replace(":-p","<img src=\"img/smiles/tongue.gif\">",$bericht);
  22. $bericht = str_replace(";)","<img src=\"img/smiles/wink.gif\">",$bericht);
  23. $bericht = str_replace(";-)","<img src=\"img/smiles/wink.gif\">",$bericht);
  24. $bericht = str_replace(":O","<img src=\"img/smiles/ohmy.gif\">",$bericht);
  25. $bericht = str_replace(":-O","<img src=\"img/smiles/ohmy.gif\">",$bericht);
  26. $bericht = str_replace(":o","<img src=\"img/smiles/ohmy.gif\">",$bericht);
  27. $bericht = str_replace(":-o","<img src=\"img/smiles/ohmy.gif\">",$bericht);
  28. $bericht = str_replace(":(","<img src=\"img/smiles/sad.gif\">",$bericht);
  29. $bericht = str_replace(":-(","<img src=\"img/smiles/sad.gif\">",$bericht);
  30. $bericht = str_replace("8)","<img src=\"img/smiles/cool.gif\">",$bericht);
  31. $bericht = str_replace("8-)","<img src=\"img/smiles/cool.gif\">",$bericht);
  32. $bericht = str_replace(":\\","<img src=\"img/smiles/dry.gif\">",$bericht);
  33. $bericht = str_replace(":-\\","<img src=\"img/smiles/dry.gif\">",$bericht);
  34. $bericht = str_replace("%)","<img src=\"img/smiles/rolleyes.gif\">",$bericht);
  35. $bericht = str_replace("%-)","<img src=\"img/smiles/rolleyes.gif\">",$bericht);
  36. $bericht = str_replace(":@","<img src=\"img/smiles/dry.gif\">",$bericht);
  37. $bericht = str_replace(":-@","<img src=\"img/smiles/dry.gif\">",$bericht);
  38. $bericht = str_replace(":|","<img src=\"img/smiles/unsure.gif\">",$bericht);
  39. $bericht = str_replace(":-|","<img src=\"img/smiles/unsure.gif\">",$bericht);
  40. $bericht = str_replace(":?","<img src=\"img/smiles/huh.gif\">",$bericht);
  41. $bericht = str_replace(":-?","<img src=\"img/smiles/huh.gif\">",$bericht);
  42. $bericht = str_replace("|8|","<img src=\"img/smiles/ph34r.gif\">",$bericht);
  43. $bericht = str_replace("|8-|","<img src=\"img/smiles/ph34r.gif\">",$bericht);
  44. $bericht = str_replace("8/","<img src=\"img/smiles/blink.gif\">",$bericht);
  45. $bericht = str_replace("8-/","<img src=\"img/smiles/blink.gif\">",$bericht);
  46. $bericht = preg_replace("#\[b\](.*?)\[/b\]#si","<b>\\1</b>", $bericht);
  47. $bericht = preg_replace("#\[i\](.*?)\[/i\]#si","<i>\\1</i>", $bericht);
  48. $bericht = preg_replace("#\[u\](.*?)\[/u\]#si","<u>\\1</u>", $bericht);
  49. $bericht = preg_replace("#\[center\](.*?)\[/center\]#si","<b>\\1</b>", $bericht);
  50. $bericht = preg_replace("#\[hr\]#si","<hr color=\"#000000\" width=\"60%\" size=\"1\">", $bericht);
  51.  
  52. $bericht = preg_replace("#\[code\](.*?)\[/code\]#si","<font style=\"font-family: Courier New\">\\1</font>", $bericht);
  53. $bericht = eregi_replace("([a-zA-Z0-9_-]+)@([a-zA-Z0-9\._-]+)(\.[a-zA-Z]+)", "<a href=\"mailto:\\1@\\2\\3\">\\1@\\2\\3</a>", $bericht);
  54. $bericht = ereg_replace("[[:alpha:]]+://[^<>[:space:]]+[[:alnum:]/]","<a href=\"\\0\" target=\"_blank\">\\0</a>",$bericht);
  55. $bericht = preg_replace("#\[img=&quot;(.*?)&quot;\]#si","<img src=\"http://\\1\">", $bericht);
  56. $bericht = preg_replace("#\[color=&quot;(.*?)&quot;](.*?)\[/color\]#si","<font color=\"\\1\">\\2</font>", $bericht);
  57.  
  58. echo $bericht;
  59. ?>
Offline jarro - 04/10/2004 15:35
Avatar van jarro HTML interesse juist ja
Offline Duikboot - 04/10/2004 16:01
Avatar van Duikboot Grafische gevorderde Sry, vat het niet. Er worden nu niet vanzelf breaks in de zin/regel gezet, maar alles word op een line gezet. Hoe kan ik maken dat er wel vanzelf brakes toegevoegd worden?
Offline LuckyLuke - 05/10/2004 16:44
Avatar van LuckyLuke PHP interesse nl2br() ?
Offline SickBoy - 05/10/2004 16:53
Avatar van SickBoy MySQL beginner <?php gebruiken, dat scheelt in laadtijd
<? kan ook andere code zijn dacht ik

ik ben niet helemaal zeker 
Offline remy - 05/10/2004 17:09
Avatar van remy PHP ver gevorderde idd <? is de sgml stijl, dit kan problematisch zijn in combinatie met xml of andere scripttalen;-)
Offline Scott - 05/10/2004 17:13
Avatar van Scott Gouden medaille

PHP ver gevorderde
Bovendien ondersteunen niet alle servers <?
Offline zwobbel - 05/10/2004 18:14
Avatar van zwobbel PHP gevorderde als ik van u was zouy ik met cijfers werken vb:
Webmaster = 1
gevorderde = 2
bezoeker = 3

Dit is handiger voor te scripten ale da klinkt mij toch het eest logische 
Offline Thomas - 05/10/2004 19:44
Avatar van Thomas Moderator Het is in ieder geval niet goed, dus ook niet veilig.

Het is ook niet veilig als register_globals aan staat (dit is niet default maar zeker niet onwaarschijnlijk), iedereen zou dan namelijk in de url de toevoeging &gebruikersnaam=Webmaster toe kunnen voegen en je bent binnen.
Offline Duikboot - 07/10/2004 11:18 (laatste wijziging 07/10/2004 11:24)
Avatar van Duikboot Grafische gevorderde Ej, je hebt gelijk FangorN. Dan zal ik ook ff een wachtwoord in die query zetten, is het dan wel veilig (zolang ze mijn wachtwoord niet weten?)

  1. <?
  2. if($gebruikersnaam == "webmaster" AND $wachtwoord == "12345"){
  3. // admin hier
  4. }
  5. else{ }
  6. ?>


Als ik die code gebruik van petory krijg ik een error. Wat moet ik in deze if() veranderen?
Offline xSc - 07/10/2004 12:10
Avatar van xSc Onbekend Michieltjuh, jouw manier wordt afgeraden. Lees het artikel over beveiliging op PHPFreakz.nl:

http://www.phpfreakz.nl/artikelen.php?aid=106
Offline Duikboot - 07/10/2004 12:29
Avatar van Duikboot Grafische gevorderde Bedankt, ik zal die eens doorlezen...
Offline Slipie - 07/10/2004 12:55
Avatar van Slipie PHP beginner Nou scott dan mag je toch een server hebben met een aardig bejaarde php versie wil dat niet werken....
ik denk niet dat er nog een server te vinden is die <? niet ondersteund
Offline Duikboot - 07/10/2004 13:06
Avatar van Duikboot Grafische gevorderde Die van mij in ieder geval wel, dus dat kan het probleem niet zijn
Offline Rens - 07/10/2004 17:10 (laatste wijziging 07/10/2004 17:11)
Avatar van Rens Gouden medaille

Crew algemeen
Je zou eerst ff een inlog formpje kunnen maken, die vervolgens naar login.php gaat.

Daar heb je de vars $username en $password.

  1. <?PHP
  2. $username = $_POST['username'];
  3. $password = $_POST['password'];
  4. if($username == "Admin Username" && $password == "Admin Password")
  5. {
  6. $_SESSION['admin'] = TRUE;
  7. $_SESSION['admin_ip'] = $_SERVER['REMOTE_ADDR']; // session hijacking voorkomen
  8. echo "<meta http-equiv=\"refresh\" content=\"2;url=adminpagina.php\">";
  9. } else
  10. {
  11. echo "ERROR!";
  12. }
  13. ?>


En met de volgende if() loop controleer je of de gegevens juist zijn:

  1. <?PHP
  2. if(IsSet($_SESSION['admin'])
  3. {
  4. if($_SESSION['admin'] == TRUE && $_SESION['admin_ip'] == $_SERVER['REMOTE_ADDR'])
  5. {
  6. // je admin opties
  7. } else
  8. {
  9. // gebruiker opties
  10. } else
  11. {
  12. echo "Je moet eerst inloggen!";
  13. }
  14. ?>

Mijn code beetje duidelijk?

Mzzls,
Rensjuh
Offline Duikboot - 07/10/2004 17:22
Avatar van Duikboot Grafische gevorderde Ik snap het, ik zal eens kijken hoever ik ermee kom
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.26s