Probleem, bij pagina vinden met array's en include
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
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
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
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
<html>
<head>
<?
include("include.php");
?>
<title>.:Dreamy-Flower Design:.</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css">
<!--
#apDiv1 {
position:absolute;
left:28px;
top:187px;
width:165px;
height:747px;
z-index:1;
}
#apDiv2 {
position:absolute;
left:202px;
top:187px;
width:730px;
height:683px;
z-index:2;
}
#apDiv3 {
position:absolute;
left:203px;
top:885px;
width:727px;
height:50px;
z-index:3;
}
a:link {
text-decoration: none;
}
a:visited {
text-decoration: none;
}
a:hover {
text-decoration: none;
}
a:active {
text-decoration: none;
}
-->
</style>
<script src="Scripts/AC_RunActiveContent.js" type="text/javascript"></script>
<script src="SpryAssets/SpryCollapsiblePanel.js" type="text/javascript"></script>
<link href="SpryAssets/SpryCollapsiblePanel.css" rel="stylesheet" type="text/css">
<style type="text/css">
<!--
.style1 {color: #000000}
-->
</style>
</head>
<body bgcolor="#FFFFFF" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0">
<font face="Eurostile">
<!-- ImageReady Slices (Untitled-1.psd) -->
</font>
<div id="apDiv1" style="position: absolute; left: 28px; top: 187px">
<div align="center">
<div id="CollapsiblePanel1" class="CollapsiblePanel">
<div class="CollapsiblePanelTab" tabindex="0">
<font face="Eurostile" size="3">Site</font></div>
<font face="Eurostile">
<a href="index.php?" class="style1">Home</a><br>
<a href="#" class="style1">Forum</a><br>
<a class="style1" href="http://dutchani.du.funpic.de/index.php?p=mailformulier">Contact</a>
</font>
<div id="CollapsiblePanel2" class="CollapsiblePanel">
<div class="CollapsiblePanelTab" tabindex="0">
<font face="Eurostile" size="3">Design</font></div>
<div class="CollapsiblePanelContent"><font face="Eurostile">
<a class="style1" href="http://dutchani.du.funpic.de/index.php?p=Design/Portfolio/index">Portfolio</a><span class="style1"><a href="#"><br>
</a></span><a href="#" class="style1">Codering</a><span class="style1"><a href="#"><br>
</a></span><a href="#" class="style1">Projects</a>
</font>
<div id="CollapsiblePanel3" class="CollapsiblePanel">
<div class="CollapsiblePanelTab" tabindex="0">
<font face="Eurostile" size="3">Overig</font></div>
<div class="CollapsiblePanelContent"><font face="Eurostile"><a href="#" class="style1">Free Templates<br>
Free Scripts</a></font></div>
</div>
</div>
</div>
</div>
<p> </p>
</div>
</div>
<div id="apDiv2">
<font face="Eurostile">
<?
include("cutenews/show_news.php");
?>
</font>
</div>
<div id="apDiv3" style="position: absolute; left: 203px; top: 880px">
<div align="center"></div>
<p align="center"><font face="Eurostile"> Dreamy-Flower design.<br>
Dreamy-Flower design, Fully made bu Dreamy-Flower design.</font></div>
<table id="Table_01" width="1000" height="1000" border="0" cellpadding="0" cellspacing="0">
<tr>
<td colspan="3">
<font face="Eurostile">
<img src="images/Home_01.gif" width="203" height="187" alt=""></font></td>
<td>
<font face="Eurostile">
<img src="images/Home_02.gif" width="746" height="187" alt=""></font></td>
<td rowspan="4">
<font face="Eurostile">
<img src="images/Home_03.gif" width="51" height="1000" alt=""></font></td>
</tr>
<tr>
<td rowspan="3">
<font face="Eurostile">
<img src="images/Home_04.gif" width="17" height="813" alt=""></font></td>
<td rowspan="2">
<font face="Eurostile">
<img src="images/Home_05.gif" width="184" height="749" alt=""></font></td>
<td rowspan="3">
<font face="Eurostile">
<img src="images/Home_06.gif" width="2" height="813" alt=""></font></td>
<td>
<font face="Eurostile">
<img src="images/Home_07.gif" width="746" height="698" alt=""></font></td>
</tr>
<tr>
<td>
<font face="Eurostile">
<img src="images/Home_08.gif" width="746" height="51" alt=""></font></td>
</tr>
<tr>
<td>
<font face="Eurostile">
<img src="images/Home_09.gif" width="184" height="64" alt=""></font></td>
<td>
<font face="Eurostile">
<img src="images/Home_10.gif" width="746" height="64" alt=""></font></td>
</tr>
</table>
<font face="Eurostile">
<!-- End ImageReady Slices -->
<script type="text/javascript">
<!--
var CollapsiblePanel1 = new Spry.Widget.CollapsiblePanel("CollapsiblePanel1");
var CollapsiblePanel2 = new Spry.Widget.CollapsiblePanel("CollapsiblePanel2");
var CollapsiblePanel3 = new Spry.Widget.CollapsiblePanel("CollapsiblePanel3");
//-->
</script>
</font>
</body>
</html>
[/CODE]
<head>
<?
include("include.php");
?>
<title>.:Dreamy-Flower Design:.</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css">
<!--
#apDiv1 {
position:absolute;
left:28px;
top:187px;
width:165px;
height:747px;
z-index:1;
}
#apDiv2 {
position:absolute;
left:202px;
top:187px;
width:730px;
height:683px;
z-index:2;
}
#apDiv3 {
position:absolute;
left:203px;
top:885px;
width:727px;
height:50px;
z-index:3;
}
a:link {
text-decoration: none;
}
a:visited {
text-decoration: none;
}
a:hover {
text-decoration: none;
}
a:active {
text-decoration: none;
}
-->
</style>
<script src="Scripts/AC_RunActiveContent.js" type="text/javascript"></script>
<script src="SpryAssets/SpryCollapsiblePanel.js" type="text/javascript"></script>
<link href="SpryAssets/SpryCollapsiblePanel.css" rel="stylesheet" type="text/css">
<style type="text/css">
<!--
.style1 {color: #000000}
-->
</style>
</head>
<body bgcolor="#FFFFFF" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0">
<font face="Eurostile">
<!-- ImageReady Slices (Untitled-1.psd) -->
</font>
<div id="apDiv1" style="position: absolute; left: 28px; top: 187px">
<div align="center">
<div id="CollapsiblePanel1" class="CollapsiblePanel">
<div class="CollapsiblePanelTab" tabindex="0">
<font face="Eurostile" size="3">Site</font></div>
<font face="Eurostile">
<a href="index.php?" class="style1">Home</a><br>
<a href="#" class="style1">Forum</a><br>
<a class="style1" href="http://dutchani.du.funpic.de/index.php?p=mailformulier">Contact</a>
</font>
<div id="CollapsiblePanel2" class="CollapsiblePanel">
<div class="CollapsiblePanelTab" tabindex="0">
<font face="Eurostile" size="3">Design</font></div>
<div class="CollapsiblePanelContent"><font face="Eurostile">
<a class="style1" href="http://dutchani.du.funpic.de/index.php?p=Design/Portfolio/index">Portfolio</a><span class="style1"><a href="#"><br>
</a></span><a href="#" class="style1">Codering</a><span class="style1"><a href="#"><br>
</a></span><a href="#" class="style1">Projects</a>
</font>
<div id="CollapsiblePanel3" class="CollapsiblePanel">
<div class="CollapsiblePanelTab" tabindex="0">
<font face="Eurostile" size="3">Overig</font></div>
<div class="CollapsiblePanelContent"><font face="Eurostile"><a href="#" class="style1">Free Templates<br>
Free Scripts</a></font></div>
</div>
</div>
</div>
</div>
<p> </p>
</div>
</div>
<div id="apDiv2">
<font face="Eurostile">
<?
include("cutenews/show_news.php");
?>
</font>
</div>
<div id="apDiv3" style="position: absolute; left: 203px; top: 880px">
<div align="center"></div>
<p align="center"><font face="Eurostile"> Dreamy-Flower design.<br>
Dreamy-Flower design, Fully made bu Dreamy-Flower design.</font></div>
<table id="Table_01" width="1000" height="1000" border="0" cellpadding="0" cellspacing="0">
<tr>
<td colspan="3">
<font face="Eurostile">
<img src="images/Home_01.gif" width="203" height="187" alt=""></font></td>
<td>
<font face="Eurostile">
<img src="images/Home_02.gif" width="746" height="187" alt=""></font></td>
<td rowspan="4">
<font face="Eurostile">
<img src="images/Home_03.gif" width="51" height="1000" alt=""></font></td>
</tr>
<tr>
<td rowspan="3">
<font face="Eurostile">
<img src="images/Home_04.gif" width="17" height="813" alt=""></font></td>
<td rowspan="2">
<font face="Eurostile">
<img src="images/Home_05.gif" width="184" height="749" alt=""></font></td>
<td rowspan="3">
<font face="Eurostile">
<img src="images/Home_06.gif" width="2" height="813" alt=""></font></td>
<td>
<font face="Eurostile">
<img src="images/Home_07.gif" width="746" height="698" alt=""></font></td>
</tr>
<tr>
<td>
<font face="Eurostile">
<img src="images/Home_08.gif" width="746" height="51" alt=""></font></td>
</tr>
<tr>
<td>
<font face="Eurostile">
<img src="images/Home_09.gif" width="184" height="64" alt=""></font></td>
<td>
<font face="Eurostile">
<img src="images/Home_10.gif" width="746" height="64" alt=""></font></td>
</tr>
</table>
<font face="Eurostile">
<!-- End ImageReady Slices -->
<script type="text/javascript">
<!--
var CollapsiblePanel1 = new Spry.Widget.CollapsiblePanel("CollapsiblePanel1");
var CollapsiblePanel2 = new Spry.Widget.CollapsiblePanel("CollapsiblePanel2");
var CollapsiblePanel3 = new Spry.Widget.CollapsiblePanel("CollapsiblePanel3");
//-->
</script>
</font>
</body>
</html>
[/CODE]
Gewijzigd op 01/01/1970 01:00:00 door Ruben Kok
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
36
37
38
39
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
36
37
38
39
<?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(
'index',
'mailformulier',
'formmail',
'Design/Portfolio/index',
'Design/Portfolio/login',
'Design/Portfolio/user',
'Design/Portfolio/db_connect'
);
//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(
'index',
'mailformulier',
'formmail',
'Design/Portfolio/index',
'Design/Portfolio/login',
'Design/Portfolio/user',
'Design/Portfolio/db_connect'
);
//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';
}
}
}
?>
Gewijzigd op 01/01/1970 01:00:00 door Ruben Kok
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?php
if (!empty($_GET['p'])) {
// $_GET["p"] is niet leeg
if (file_exists($_GET['p'].'.php')) {
// de pagina bestaat, dit check je met de functie hierboven
$page = $_GET['p'].'.php';
}
else {
// pagina bestaat niet en is dus home.php
$page='home.php';
}
}
else {
// $_GET["P"] is leeg / bestaat niet $page is dus home.php
$page='home.php';
}
?>
if (!empty($_GET['p'])) {
// $_GET["p"] is niet leeg
if (file_exists($_GET['p'].'.php')) {
// de pagina bestaat, dit check je met de functie hierboven
$page = $_GET['p'].'.php';
}
else {
// pagina bestaat niet en is dus home.php
$page='home.php';
}
}
else {
// $_GET["P"] is leeg / bestaat niet $page is dus home.php
$page='home.php';
}
?>
En dan op index.php het design, en waar ik de content wil hebben zeg ik:
Volgensmij vergeet jij dat ook in je 2'e post op regel 35...
mvg Joost.
Gewijzigd op 01/01/1970 01:00:00 door /home/joost
Dat is wel één van de meest onveilige methoden Joost! Wat zou als een pagina wordt aangeroepen die niet aangeroepen mag worden? Maak een array met toegestane pagina's. Dan ben je al een stuk beter bezig.
Wanneer een pagina niet aangeroepen mag worden dan ga ik er vanuit dat deze beveiligd is en dat dit daardoor dus toch geen zin heeft omdat je dan een melding krijgt dat je dan niet ingelogd bent of geen rechten hebt..
mvg JOost.
Er zijn toch zat pagina's die je niet aan wil roepen? Classes, functies, verbindingen en andere bestanden die iets op je server kunnen doen.
mvg Joost.
index.php?p=map/bestand
Of nog beter
index.php?p=http://example.com/php.txt
en dan wordt de code in php.txt uitgevoerd op een andere server.
Heel onveilig.
mvg Joost.