login  Naam:   Wachtwoord: 
Registreer je!
 Forum

goed gebruik van includes?

Offline oldsko0l - 24/07/2006 20:35 (laatste wijziging 24/07/2006 22:01)
Avatar van oldsko0lNieuw lid hej,
even hier m'n index.php posten, ik ben redelijk nieuw met php,
en ik vraag me af of ik includes goed gebruik (aangezien er veel mogelijkheden zijn, en hierdoor de beveiliging ook kan verslechteren)
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html>
  3. <head>
  4. <title>Test</title>
  5. <link rel="stylesheet" type="text/css" href="opmaak.css" />
  6. <link rel="stylesheet" type="text/css" href="divs.css" />
  7. </head>
  8.  
  9. <body>
  10.  
  11.  
  12. <div id="container">
  13. <div id="logo">
  14. <img src="retrospective.jpg" />
  15.  
  16. </div>
  17.  
  18. <div id="menu">
  19. <a href="?page=home">Home</a> <br />
  20. <a href="?page=fluxbox">Fluxbox</a> <br />
  21. <a href="?page=multimedia">Multimedia</a> <br />
  22. <a href="?page=netwerk">Netwerk</a> <br />
  23. <a href="?page=games">Games</a> <br />
  24. <a href="?page=tips">Tips 'n Tricks</a> <br />
  25. <a href="?page=varia">Varia</a> <br />
  26. <a href="?page=xorg">Xorg</a> <br />
  27. <a href="?page=over_mij">Over mij</a> <br />
  28. <a href="?page=links">Links</a> <br />
  29. </div>
  30.  
  31. <div id="inhoud">
  32. <?php
  33. $page = isset($_GET['page']) ? $_GET['page'] : '';
  34. switch($page)
  35. {
  36. case "home":
  37. include "home.php";
  38. break;
  39. case "multimedia":
  40. include "multimedia.php";
  41. break;
  42. case "netwerk":
  43. include "netwerk.php";
  44. break;
  45. case "games":
  46. include "games.php";
  47. break;
  48. ....
  49. .... <knip>
  50. ....
  51. default:
  52. include "home.php";
  53. break;
  54. }
  55. ?>
  56. </div>
  57. <div style="clear:both;"></div>
  58. </div>
  59. </body>
  60. </html>


en bij elke link schrijf ik dan bv. dit
de wijze van linken (zoals ik in het menutje doe) doe ik over heel de site. (dus ook links die in een include staan)

zie je iets dom? zeg het me dan even 

6 antwoorden

Gesponsorde links
Offline Ultimatum - 24/07/2006 20:38
Avatar van Ultimatum PHP expert als je veel pagina's hebt is het best veel werk om elke keer 3 regels te gaan schrijven, wat je kan doen zoals ik het ook heb..

als de pagina bestaat en page heeft een waarde, word er automatisch .php achtergeplakt.

dus de url hoef dus ook geen extensie te bevatten, zoals bij jou script
Offline riekele - 24/07/2006 21:47
Avatar van riekele PHP beginner je zou ook een verkorte switch kunnen maken, maar even over je vraag, nee dit is niet zo dom;-)
Offline Tuinstoel - 24/07/2006 22:02
Avatar van Tuinstoel PHP expert Veilig is het wel, omslachtig is het ook. Je zou ook met reguliere expressies of zelfs nog met array's kunnen gaan werken.
Offline Maarten - 24/07/2006 22:18
Avatar van Maarten Erelid Als je al je includes in een submad zet (bv. ./mods), dan controleer je toch gewoon met file_exists('./mods'.$_GET['page'].'.php'), zoja, include..?

Als iemand dan bv. http://verkeerdesite.be/hackpagina.php als page opgeeft, dan bestaat deze gewoon niet, geen probleem, veilig.
Offline oldsko0l - 24/07/2006 22:59
Avatar van oldsko0l Nieuw lid mjah dus buiten omslachtig is er nix mis met? 
ik weet dat het wat werk is om telkens 3 regels te typen, maar met copy & paste, is het maar een paar seconden werk om een pagina te linken dus dat laat ik maar zo, .. 

ik ben al blij te horen dat alles in orde is, want iemand had me met mijn vorige includes geholpen, maar een ander persoon zei dan dat ik het zo een dik veiligheidsproblemen creërde (ik gaf de gebruiker zowat alle acces ). dus dan heeft die persoon me even geholpen om een ander systeem te zoeken voor wat ik wilde (dit dus) en ik wou gewoon even checken wat jullie er hier van vonden  tnx
Offline Dolfje - 24/07/2006 23:40
Avatar van Dolfje Gouden medailleGouden medailleGouden medaille

PHP ver gevorderde
Qua beveiliging is het geen probleem,
maar ik zou zoiets gebruiken, in plaats van een superlange switch.
  1. if( isset($_GET['page']) AND ereg("^[a-zA-Z0-9]{1,}$", $_GET['page']) )
  2. include $_GET['page'].".php";
  3. else
  4. include "home.php";

Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2025 Sitemasters.be - Regels - Laadtijd: 0.206s