PHP pagina load
Hij kan hem weer niet vinden. Nu heb je ineens andere code dan in je eerste post vol met code?
tja, ik ben echt helemaal door de war
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
<?php
//Een lijst ('array') met bestanden maken die zijn toegestaan. Als je dus wilt toestaan dat 'blaat.php' geinclude wordt voeg je blaat toe aan de array. Denk erom dat er achter elk item(behalve de laatste) een komma moet
$pages = array(
'pagina0',
'pagina1',
'pagina2'
);
//Als er niets achter ?p= staat (pagina.php?p=) dan wordt de standaard pagina gebruikt.
if(empty($_GET['p']))
{
include 'standaard.php';
}
else
{
//Er staat iets achter, we kijken nu of de pagina die er achter ?p= staat ook in de array voorkomt en dus toegestaan is. Het ! voor in array geeft aan dat er NIET aan de volwaarde voldaan wordt. Hier staat dus: 'Als de pagina niet in de array zit, dan:'
if(!in_array($_GET['p'], $pages))
{
echo 'Niet toegestaan!';
}
else
{
//De pagina mag geinclude worden volgens onze array, met file_exists kijken we of het bestand wel bestaat, je kan hem immers vergeten zijn toe te voegen. Let ook weer op het !.
if(!file_exists('paginas/' . $_GET['p'] . '.php'))
{
echo 'Het bestand ' . $_GET['p'] . '.php is niet gevonden!';
}
else
{
//Het bestand is geldig en bestaatd, dus wordt geinclude
include 'paginas/' . $_GET['p'] . '.php';
}
}
}
?>
//Een lijst ('array') met bestanden maken die zijn toegestaan. Als je dus wilt toestaan dat 'blaat.php' geinclude wordt voeg je blaat toe aan de array. Denk erom dat er achter elk item(behalve de laatste) een komma moet
$pages = array(
'pagina0',
'pagina1',
'pagina2'
);
//Als er niets achter ?p= staat (pagina.php?p=) dan wordt de standaard pagina gebruikt.
if(empty($_GET['p']))
{
include 'standaard.php';
}
else
{
//Er staat iets achter, we kijken nu of de pagina die er achter ?p= staat ook in de array voorkomt en dus toegestaan is. Het ! voor in array geeft aan dat er NIET aan de volwaarde voldaan wordt. Hier staat dus: 'Als de pagina niet in de array zit, dan:'
if(!in_array($_GET['p'], $pages))
{
echo 'Niet toegestaan!';
}
else
{
//De pagina mag geinclude worden volgens onze array, met file_exists kijken we of het bestand wel bestaat, je kan hem immers vergeten zijn toe te voegen. Let ook weer op het !.
if(!file_exists('paginas/' . $_GET['p'] . '.php'))
{
echo 'Het bestand ' . $_GET['p'] . '.php is niet gevonden!';
}
else
{
//Het bestand is geldig en bestaatd, dus wordt geinclude
include 'paginas/' . $_GET['p'] . '.php';
}
}
}
?>
Nu geen errors :)
maar nu doen links het niet lol
http://gaatjullieniksaan:D/index.php?=Design/Portfolio/index.php
zon link gebruik ik nu
maar nu doen links het niet lol
http://gaatjullieniksaan:D/index.php?=Design/Portfolio/index.php
zon link gebruik ik nu
waarom stat daar op het einde .php ?
Het moet iets zijn á la: index.php?p=design
omdat... geen idee.
Maar ook al haal ik het .php weg, het blijft de index pagina reloaden
en dat van jou evert, blijft het ook reloaden xD
Maar ook al haal ik het .php weg, het blijft de index pagina reloaden
en dat van jou evert, blijft het ook reloaden xD
Gewijzigd op 01/01/1970 01:00:00 door Ruben Kok
Je moet wel je code erop aanpassen he..
Oneindige loop. Je zit nog shit te includen in je andere code zeker? Of doe je soms de pagina zelf includen.
Gewijzigd op 01/01/1970 01:00:00 door --
Ik include de index, ja
'Ruben:
Ik include de index, ja
En dat doe je in de index? Tja dan heb je een oneindige loop.
dus ik moet dat script in elke pagina doen :o?
ok bedankt.... srry voor het zoveel posten.
ok bedankt.... srry voor het zoveel posten.
of je maakt er een functie van en gooit 'm in een bestand dat je functions.php noemt en deze in elke pagina include en aanroept voordat je de pagina displayd, boven de head dus.
'Maarten:
de lekkere onveilige manier:
dan moet de link wel "blablabal.com/index.php?page=blababal.php" worden, maar goed
veiligere manieren zijn er meerdere, ik kijk bijv of ik wel een link naar het bestandje in m'n database heb staan, zo niet, wordt er gewoon gezegd dat de pagina niet beschikbaar is (anders kun je namelijk gewoon een scriptje 'uit de buitenwereld' invoegen, door "blablabal.com/index.php?page=http://www.haxors.nl/hack.php" in te voeren)
dan moet de link wel "blablabal.com/index.php?page=blababal.php" worden, maar goed
veiligere manieren zijn er meerdere, ik kijk bijv of ik wel een link naar het bestandje in m'n database heb staan, zo niet, wordt er gewoon gezegd dat de pagina niet beschikbaar is (anders kun je namelijk gewoon een scriptje 'uit de buitenwereld' invoegen, door "blablabal.com/index.php?page=http://www.haxors.nl/hack.php" in te voeren)
Als hij dat wilt, moet hij dat doen; dan kan ik weer eens de beveiliging testen :) (Ben ik goed in)
Ehm... dit topic was al heel erg lang dood >.<
En ik gebruik al een veel veiligere manier :P
En ik gebruik al een veel veiligere manier :P




