login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Alleen toegankelijk voor administrator

Offline Ludo - 27/05/2007 10:30
Avatar van LudoOnbekend Ben bezig met webshop Nu heb ik in mijn autenticatie script staan dat de administrator de eerste geregistreerde bezoeker is zo

  1. f(mysql_num_rows($result) == 1)
  2. {
  3. $row = mysql_fetch_assoc($result);
  4. $_SESSION['username'] = $checkusername;
  5. $_SESSION['klant_id'] = $row['Klant_id'];
  6. $_SESSION['admin'] = ($row['Klant_id'] == 1);
  7. $_SESSION['logged_in'] = true;
  8. echo 'Login accepted<br>';


Als ik echter het authenticatie scrit include in het admin script heeft tog elke geregistreerde bezoeker toegeng hoe los ik dit op

  1. $admin = true;
  2. require "authenticatie.php";


Ik weet dat er ipv $admin=true; iets moet komen te staan maar weet iemand wat?

b.v.d.

7 antwoorden

Gesponsorde links
Offline ikkedikke - 27/05/2007 11:14
Avatar van ikkedikke PHP expert Je moet ook actief zorgen dat de toegang verboden wordt wanneer het geen admin is.
dus de gebruiker naar een andere pagina sturen wanneer ze geen toegang heeft.
Offline Ludo - 27/05/2007 11:20 (laatste wijziging 27/05/2007 11:25)
Avatar van Ludo Onbekend En hoe doe ik dit heb je voorbeeld?

  1. $row = mysql_fetch_assoc($result);
  2. $_SESSION['username'] = $checkusername;
  3. $_SESSION['klant_id'] = $row['Klant_id'];
  4. $_SESSION['admin'] = ($row['Klant_id'] == 1);
  5. $_SESSION['logged_in'] = true;
  6. echo 'Login accepted<br>';
  7. }
  8. else
  9.  
  10. De melding login not accepted is voor mij genoeg!
  11. {
  12. $_SESSION['admin'] = false;
  13. echo 'Login not valid<br>';
  14. }


Dit werkt niet!

Login not accepted is voor mij genoeg in mijn geval is Klant_id 13 administrator
Offline JBke - 27/05/2007 11:51
Avatar van JBke PHP gevorderde maak een controle op
  1. <?php
  2. if ($_SESSION['admin'] == TRUE) {
  3. // toegang tot pagina
  4. } elseif ($_SESSION['admin'] == FALSE {
  5. // geen toegang
  6. }
  7. ?>


je kan ook een case structuur opmaken als je met levels werkt.
  1. <?php
  2. switch ($_SESSION['rechten']) {
  3. case "admin":
  4. // toegang tot pagina met admin rechten
  5. break;
  6. case "moderator":
  7. // toegang met moderator rechten
  8. break;
  9. case "lid":
  10. // toegang met leden rechten
  11. break;
  12. default:
  13. // geen toegang
  14. }
  15. ?>


dan verander je op elke pagina $_SESSION['admin'] naar $_SESSION['rechten'] en ken je daar de gewenste waarde aan toe doormiddel van de opgehaalde rechten per lid uit je database.

success
Offline Ludo - 27/05/2007 12:06 (laatste wijziging 27/05/2007 12:08)
Avatar van Ludo Onbekend Hee vriend weer wakker nee wil het simpel houden hoe en waar kan ik zoeiets planten ik bedoel in welk script
  1. <?
  2. if ($row['Klant_id'] == 1)
  3. {
  4. $_SESSION['admin'] = TRUE ;
  5. }
  6.  
  7. ?>

  1. <?php
  2.  
  3. require "authenticatie.php";
  4. ?>
  5.  
  6. <p><div class="big">Admin menu</div><br>
  7.  
  8. <p>
  9.  
  10. <a href="artikeloverzicht.php">Artikeloverzicht</a><br>
  11. <a href="artikel_toevoegen.php">Artikel toevoegen</a><br>
  12. <a href="artikel_afbeelding.php">Artikel: afbeelding(en) uploaden</a><br>
  13. <a href="artikel_wissen.php">Artikel verwijderen</a><br>
  14. <p>
  15. <a href="cat_toevoegen.php">Categorie toevoegen</a><br>
  16. <a href="cat_wijzigen.php">Categorie wijzigen</a><br>
  17. <p>
  18. <a href="bestelling_uitvoeren.php">Bestelling uitvoeren</a><br>
  19.  
  20. <a href="nieuwsbrief.php">Nieuwsbrief versturen</a><br>
  21. <?php
  22. require "footer.php";
  23. ?>


Dit het admin script:



dit is mijn autehnticatiescript gaarne alleen iets veranderen zie bovenstaand heeft bloed zweet en tr gekost

http://www.plaatscode.be/5455/
Offline JBke - 27/05/2007 12:25
Avatar van JBke PHP gevorderde je maakt een apart bestand bvb. check_rechten.inc.php en daar voer je de controle uit in een funtie die TRUE of FALSE returned. In dat bestand ga je dus bvb een cookie uitlezen of een sessie uitlezen je leest dan het Klant_id uit de database en indien 1 return TRUE else exit met een eventuele melding.

Je zet dan in elk script dat je wil beveiligen met admin rechten gewoon een require_once van dat bestand.

Ik heb zo een script dat ook werkt als de bezoeker zijn cookies af heeft staan, dan wordt de SESSID doorgegeven via de url.

http://www.plaatscode.be/5456/

voorbeeld op http://www.jb-w.../index.php

je kan inloggen met jbke en TEST123
Offline Ludo - 27/05/2007 12:30
Avatar van Ludo Onbekend
  1. <?php
  2.  
  3. require "header.php";
  4. if ($_SESSION['admin'] == TRUE) {
  5. echo 'Login accepted<br>';
  6. } elseif ($_SESSION['admin'] == FALSE) {
  7. echo 'Login not accepted<br>';
  8. }
  9. ?>


Heb dit nu maar als ik dit include in admin.php werkt het niet
Offline ikkedikke - 27/05/2007 13:08
Avatar van ikkedikke PHP expert Je zegt net dat de admin id 13 heeft.
Op regel 6 van je eerste post moet je dan eens kijken.
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.269s