login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Paginasysteem, veilig?

Offline Sar - 14/11/2007 11:09
Avatar van SarPHP interesse Is dit een veilig systeem?

  1. <?php
  2. if(empty($_GET['p']))
  3. {
  4. include 'home.php';
  5. }
  6. elseif($_GET['p'] == 'index.php')
  7. {
  8. echo "<b>Error:</b> Loop is niet toegestaan.";
  9. }
  10. elseif(file_exists($_GET['p']))
  11. {
  12. include $_GET['p'];
  13. }
  14. else
  15. {
  16. echo "Deze pagina bestaat (nog) niet.";
  17. }
  18. ?>


Graag jullie mening en/of advies!

Bedankt!

Sar

7 antwoorden

Gesponsorde links
Offline Wim - 14/11/2007 11:23
Avatar van Wim Crew algemeen elseif(file_exists($_GET['p'])) { include $_GET['p']; }

met dat lijntje kunnen ze ELKE pagina includen, ook pagina's die je daar helemaal niet wilt!

Je kan een array aanmaken en daar alle toegelaten bestanden inzetten, en dan controleren met PHP.net: is_array of het opgeroepen bestand al dan niet in de array zit
Offline Sar - 14/11/2007 11:32
Avatar van Sar PHP interesse Het probleem is alleen dat het een site met meer dan 100 pagina's gaat worden.

Moet ik die dan allemaal in een array stoppen?
Is er geen andere manier?
Offline marten - 14/11/2007 11:33
Avatar van marten Beheerder Je kan die array ook laten genereren uit een database query *hint*
Offline Mad_Mike - 14/11/2007 11:36
Avatar van Mad_Mike PHP beginner Dan pas je het iets aan. Ipv pagina.php geef je in de url alleen de naam mee dus zonder php. En dan bij de controle of het bestand bestaat plaats je zelf php er achter 

bijv:
  1. file_exists("includes/".$_GET['p'].".php")
Offline mike87 - 15/11/2007 10:18
Avatar van mike87 Nieuw lid Of plaats alle pagina's in een aparte map en controleer vervolgens of de pagina die geopend wordt, bestaat in die map.
Offline Mad_Mike - 15/11/2007 10:28
Avatar van Mad_Mike PHP beginner @mike87
Dat is precies zoals ik het hierboven laat zien... (in de map 'includes')
Offline Sar - 15/11/2007 11:05 (laatste wijziging 15/11/2007 11:06)
Avatar van Sar PHP interesse hmmm, ja, ik denk dat dat dan de beste oplossing is!

Bedankt!
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.201s