Bekijk Volledige Versie : require vraagje...
Ik heb dit:
<?
if (isset( $_GET["pagina"])) {
require ($_GET['pagina']);
}
else {
echo "Welkom op de blablabala....";
}
?>
Er worden variabelen aangevoerd. Alle werkt.
Maar als ik nu een niet bestaande bestandanaam naar $pagina stuur,
dan krijg ik een foutmelding.
Hoe kan ik nou zelf die foutmelding maken?
Dus als de pagina niet bestaat, dan moet ie naar een foutpagina gaan.
Wie weeet hoe ik dat doe?
Bedankt maar weer,
--
Greetz,
Bertez[z]
bertwebAThome.nl
!!-> 1@ te veel in mail <-!!
Harrie Geerts
30/11/03, 16:30
"Bertez[z]" <bertweb@@home.nl> schreef in bericht
news:bqd215$4im$1@news2.tilbu1.nb.home.nl...
> Ik heb dit:
>
> <?
> if (isset( $_GET["pagina"])) {
> require ($_GET['pagina']);
> }
> else {
> echo "Welkom op de blablabala....";
> }
> ?>
>
> Er worden variabelen aangevoerd. Alle werkt.
> Maar als ik nu een niet bestaande bestandanaam naar $pagina stuur,
> dan krijg ik een foutmelding.
>
> Hoe kan ik nou zelf die foutmelding maken?
> Dus als de pagina niet bestaat, dan moet ie naar een foutpagina gaan.
>
> Wie weeet hoe ik dat doe?
>
> Bedankt maar weer,
>
if (!fileexists($pagina)){
require "jouwpagina";
}
Ik weet niet of het werkt.
Harrie
Maarten Wierda
30/11/03, 18:15
Harrie Geerts wrote:
[include a.h.v. get-var]
> if (!fileexists($pagina)){
> require "jouwpagina";
> }
if (isset($_GET["pagina"]))
{
if (file_exists($_GET["pagina"]))
require($_GET["pagina"]);
}
Maar wat nu als iemand bestanden gaat opvragen die 'ie helemaal niet mag
zien?
> Ik weet niet of het werkt.
Ik wel, het werkt niet ;)
--
Cheers, Maarten Wierda
cp: The Stooges - Shake Appeal
"Teenage angst has paid off well, now I'm bored and old"
Maarten Wierda (moart3nAT@chello.nl) postte dit:
> Harrie Geerts wrote:
>
> [include a.h.v. get-var]
>
>> if (!fileexists($pagina)){
>> require "jouwpagina";
>> }
>
> if (isset($_GET["pagina"]))
> {
> if (file_exists($_GET["pagina"]))
> require($_GET["pagina"]);
> }
>
> Maar wat nu als iemand bestanden gaat opvragen die 'ie helemaal niet
> mag zien?
>
>> Ik weet niet of het werkt.
>
> Ik wel, het werkt niet ;)
Ik heb het nu werkende. Bedankt!
Maar moet ik Get dan vervangen door POST?
Dan is het toch onzichtbaar?
--
Greetz,
Bertez[z]
bertwebAThome.nl
!!-> 1@ te veel in mail <-!!
Bertez[z] wrote:
>> Maar wat nu als iemand bestanden gaat opvragen die 'ie helemaal niet
>> mag zien?
[...]
> Maar moet ik Get dan vervangen door POST?
> Dan is het toch onzichtbaar?
Nou, niet echt. En iedereen kan nog steeds invoeren wat ie wil. Het beste is
om de namen van de files aan de server-kant bij te houden, en dan alleen een
nummer of een naam op te vragen:
if(isset($_GET['pagina']))
{
switch( $_GET['pagina'])
{
case 1:
require("pagina1.php");
break;
case 2:
require("anderepagina.php");
break;
// etc
}
}
Andere mogelijkheid is om met stripslashes (zie documentatie) en het zelf
toevoegen van extensie en pad de bestandsnaam te bepalen, iets als
if(isset($_GET['pagina']))
{
if (file_exists($_GET["pagina"]))
require( stripslashes($_GET["pagina"]) . '.php');
}
Dit laatste is minder veilig omdat er waarschijnlijk via allerlei trucjes
wel omheen te komen is. De vastbesloten inbreker hou je er waarschijnlijk
niet mee tegen, een toevallig prutsend scriptkiddie waarschijnlijk wel.
--
Inca
JA - Wel 4500 tienermoeders
NEE - Geen 4500 tienervaders
http://www.poldermodelstickers.nl/
Maarten Wierda
30/11/03, 20:15
Bertez[z] wrote:
[include a.h.v. get-var]
>>if (isset($_GET["pagina"]))
>>{
>> if (file_exists($_GET["pagina"]))
>> require($_GET["pagina"]);
>>}
>>
>>Maar wat nu als iemand bestanden gaat opvragen die 'ie helemaal niet
>>mag zien?
<snip>
> Maar moet ik Get dan vervangen door POST?
Dat hangt er van af of 'pagina' een GET- of een POST-var is.
> Dan is het toch onzichtbaar?
Leestip: <http://www.phpfreakz.nl/artikelen.php?aid=88>.
--
Cheers, Maarten Wierda
"Teenage angst has paid off well, now I'm bored and old"