Praat mee over van alles en nog wat!
Forumregels
Dit forum is voor alle zinnige gesprekken buiten phpBB om. Discussies en gesprekken over interessante onderwerpen.
Een nieuw onderwerp moet..:
- uiteraard voldoen aan de algemene voorwaarden
- niet passen in de gewone supportfora
- interessante zijn voor het overgrote deel van onze gebruikers
- een neutrale of positieve ondertoon hebben
- anders zijn dan bestaande onderwerpen
-
Russ
- Berichten: 118
- Lid geworden op: 07 dec 2003, 13:17
Bericht
door Russ » 09 dec 2004, 21:23
Yo,
Ik ben bezig met een PHP switch alleen wil ik een default inbouwen maar weet niet hoe dat moet.
Ik heb tot nu toe dit:
Code: Selecteer alles
<?php
$page = "php/" . strtolower($_GET['page']) . ".php";
if (file_exists($page)) {
}
include($page)
?>
Als er fouten inzitten hoor ik dat natuurlijk ook graag

-
farmerwood
- Berichten: 6
- Lid geworden op: 09 dec 2004, 20:22
- Locatie: Almen
-
Contacteer:
Bericht
door farmerwood » 09 dec 2004, 21:26
Code: Selecteer alles
<?php
$page = "php/" . strtolower($_GET['page']) . ".php";
if (file_exists($page))
{
include($page);
}
else
{
include("php/index.php");
}
?>
Zoiets?
Als de pagina niet gevonden kan worden pakt hij index.php
Btw let op de { } Je doet nu niks met je IF en include altijd $page. Wanneer die niet bestaat krijg je dus altijd een error nu.
-
Russ
- Berichten: 118
- Lid geworden op: 07 dec 2003, 13:17
Bericht
door Russ » 09 dec 2004, 21:27
Ok, bedankt
Maar ik bedoelde eigenlijk een default, een pagina die die zoieso pakt behalve als de url ".php?page=home" is bijv.
-
farmerwood
- Berichten: 6
- Lid geworden op: 09 dec 2004, 20:22
- Locatie: Almen
-
Contacteer:
Bericht
door farmerwood » 09 dec 2004, 21:34
Russ schreef:Ok, bedankt
Maar ik bedoelde eigenlijk een default, een pagina die die zoieso pakt behalve als de url ".php?page=home" is bijv.
Dat doet ie nu toch?
Hij probeert nu de pagina te includen die opgegeven is. Als die niet gevonden kan worden gaat hij naar index.php.....
-
Russ
- Berichten: 118
- Lid geworden op: 07 dec 2003, 13:17
Bericht
door Russ » 09 dec 2004, 21:38
Sorry, ik had het even verkeerd begrepen.
Werkt uitstekend
Nogmaals bedankt

-
mosymuis
- Berichten: 6940
- Lid geworden op: 05 feb 2003, 14:00
- Locatie: Amsterdam
-
Contacteer:
Bericht
door mosymuis » 09 dec 2004, 23:23
Dit is een ONTZETTEND ONVEILIG script!! Hiermee geef je de bezoeker de mogelijkheid elk bestand te includen dat hij maar wil. Als je het pad dan ook nog eens onhandig opstelt is de weg open voor zeer eenvoudige script insertion, oftewel het uitvoeren van eigen scripts door anderen op jouw website. Dat dat gevaarlijk zijn hoef ik je vast niet uit te leggen.
Doe het liever zo:
Code: Selecteer alles
<?php
$page = strtolower($_GET['page']);
if ( in_array($page, array('index', 'chatbox', 'contact')) )
{
include('php/' . $page . '.php');
}
else
{
include('php/index.php');
}
?>
en pas de array aan naar de namen waarvan jij zeker weet dat ze mogen worden geinclude.
-
Russ
- Berichten: 118
- Lid geworden op: 07 dec 2003, 13:17
Bericht
door Russ » 10 dec 2004, 07:39
Ok, maar dan zou ik elke pagina moeten includen. Het zijn er een stuk of dertig

. In de map PHP zet ik geen belangrijke bestanden, alleen bestanden die mogen geinclude worden. Is het dan nog steeds een probleem?
-
Bas
- Berichten: 2741
- Lid geworden op: 02 dec 2003, 17:38
- Locatie: Omgeving Goslar (Duitsland)
-
Contacteer:
Bericht
door Bas » 10 dec 2004, 08:01
Ja, je kunt altijd nog .. doen om andere bestanden op je server te krijgen, en dat was eerst ook niet wat ik wou...
Maar, als je file_exists gebruikt op PHP4, dan kan hij niet omgaan met Remote URLs...
-
mosymuis
- Berichten: 6940
- Lid geworden op: 05 feb 2003, 14:00
- Locatie: Amsterdam
-
Contacteer:
Bericht
door mosymuis » 10 dec 2004, 13:47
bast schreef:Maar, als je file_exists gebruikt op PHP4, dan kan hij niet omgaan met Remote URLs...
Zelfs het includen van pagina's op de eigen server kan onveilig zijn, denk aan je forum config of admin pagina's, gecombineerd met XSS of PHP bugs.
-
Russ
- Berichten: 118
- Lid geworden op: 07 dec 2003, 13:17
Bericht
door Russ » 10 dec 2004, 18:00
Ok, bedankt voor de uitleg
Nog een vraagje, is het mogelijk om page= weg te werken in de url zodat het index.php?home wordt?
-
ElbertF
- Berichten: 5803
- Lid geworden op: 12 okt 2004, 08:34
-
Contacteer:
Bericht
door ElbertF » 10 dec 2004, 18:45
Je zou er "
http://www.url.com/home" van kunnen maken, met een bestand genaamd "index.htm" in een map "home" (in de root). In dit html bestand maak je een redirect naar die pagina (met JavaScript).
"index.php?home" Werkt niet..
-
mosymuis
- Berichten: 6940
- Lid geworden op: 05 feb 2003, 14:00
- Locatie: Amsterdam
-
Contacteer:
Bericht
door mosymuis » 12 dec 2004, 08:54
Spambot schreef:Je zou er "
http://www.url.com/home" van kunnen maken, met een bestand genaamd "index.htm" in een map "home" (in de root). In dit html bestand maak je een redirect naar die pagina (met JavaScript).
Nu zoekt de server naar de map "home", niet naar een index bestand. Met mod_rewrite in een htaccess kan dit wel. Koppel dan automatisch naar index.php?page=home.
-
Russ
- Berichten: 118
- Lid geworden op: 07 dec 2003, 13:17
Bericht
door Russ » 12 dec 2004, 17:43
Ik houd het voorlopig wel even op
index.php?page=...
Wel zo makkelijk
Bedankt voor jullie hulp

-
Russ
- Berichten: 118
- Lid geworden op: 07 dec 2003, 13:17
Bericht
door Russ » 12 dec 2004, 17:45
Ik was even aan het zoeken op het internet en kwam deze code tegen:
Code: Selecteer alles
<?php
switch (strtolower($_GET['page']))
{
case "tutorial":
include("tutorial.php");
break;
case "scripts":
include("scripts.php");
break;
default:
include("default.php");
break;
}
?>
Maakt het kwa veiligheid uit of je deze code gebruikt of die van mosymuis?
-
mosymuis
- Berichten: 6940
- Lid geworden op: 05 feb 2003, 14:00
- Locatie: Amsterdam
-
Contacteer:
Bericht
door mosymuis » 13 dec 2004, 11:25
Russ, je gevonden code is net zo veilig als die van mij, maar is minder handig als je veel pagina's gebruikt.
-
Russ
- Berichten: 118
- Lid geworden op: 07 dec 2003, 13:17
Bericht
door Russ » 13 dec 2004, 15:48
Ok, bedankt, de code van mosymuis is idd veel handiger
-
Russ
- Berichten: 118
- Lid geworden op: 07 dec 2003, 13:17
Bericht
door Russ » 19 dec 2004, 13:46
Maakt het uit kwa veiligheid of je naar "index.php?page=test" linkt of "?page=test"?
-
mosymuis
- Berichten: 6940
- Lid geworden op: 05 feb 2003, 14:00
- Locatie: Amsterdam
-
Contacteer:
Bericht
door mosymuis » 20 dec 2004, 12:50
Nee.