login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Beveiliging pagina's

Offline leendertW - 13/11/2004 13:04 (laatste wijziging 13/11/2004 13:05)
Avatar van leendertWPHP beginner Ik heb een login script en ik beveilig de pagina's met dit script:
  1. <?PHP
  2.  
  3.  
  4. $sBoodschapOnbevoegd = 'U bent niet bevoegd om deze pagina te bezoeken!';
  5.  
  6. if(!isset($_SESSION['gebruikersnaam']) || !isSet($_SESSION['login'])){
  7. echo '<table width="550"><tr><td align="center">' . $sBoodschapOnbevoegd . '</td></tr></table>';
  8. }
  9. else {
  10. include('config4444.php');
  11.  
  12. $sLoginId = "SELECT id FROM login WHERE gebruikersnaam = '" . $_SESSION['gebruikersnaam'] . "'";
  13.  
  14. if (!$rVergelijkLogin = mysql_query($sLoginId)) {
  15. echo 'Er is een fout opgetreden tijdens het uitvoeren van ' . $sLoginId . '. MySQL retourneerde: ' . mysql_errno() . ': ' . mysql_error();
  16. }
  17. else {
  18. if (mysql_num_rows($rVergelijkLogin) == 0) {
  19. echo $sBoodschapOnbevoegd;
  20. }
  21. else {
  22. // Juist ingelogd
  23. }
  24. }
  25. }
  26. ?>



Alleen, als je dan naar een url gaat waar je niet mag komen zegt hij wel dat je niet bent ingelogd maar hij laat de rest van de pagina gewoon zien zodat de beveiliging dus helemaal nisk helpt:s
Wat is hier fout aan?

1 antwoord

Gesponsorde links
Offline Thomas - 13/11/2004 13:24 (laatste wijziging 13/11/2004 13:25)
Avatar van Thomas Moderator Allereerst, het idee van een sessie is juist dat je éénmalig gegevens controleert (bij het inloggen bijvoorbeeld), dan (als deze gegevens kloppen met de gegevens in je database) bepaalde gegevens in je sessie stopt, waarop gegevens in je sessie (niet in je database!) gecontroleerd worden.

Je kan om te controleren of een gebruiker gemachtigd is om een pagina te bekijken meestal volstaan met een simpele controle (bijvoorbeeld op het bestaan van een sessie-variabele).

  1. <?php
  2. ?>
  3. <html>
  4. ...
  5. <body>
  6. <?php
  7. if(isset($_SESSION['ingelogd'])) {
  8. ?>
  9. toegang, rest van beveiligde pagina
  10. <?php
  11. } else {
  12. ?>
  13. Geen toegang
  14. <?php
  15. }
  16. ?>
  17. </body>
  18. </html>


Scripts als die van jou maken iets simpels onnodig gecompliceerd.

Kijk anders ook eens bij de tutorials (sessies) en bij de php/mysql scripten naar loginscripts met sessies.
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.202s