Bekijk Volledige Versie : Include probleem met PHP
Ik heb een index.php waarin ik alle andere pagina's naar binnen haal door
middel van include.
Bijvoorbeeld een link <a href="begin.php?page=history.php">history</a>
Include is dan: include $page;
Maar hoe voorkom ik dat wanneer je de afzonderlijke pagina's vind bij google
ze ook openen in de index.php
Ik heb het geprobeert met
<SCRIPT LANGUAGE="JavaScript">
<!--
if (top == self) self.location.href = "index.php?page=history.php";
// -->
</SCRIPT>
Maar dan slaat de server op hol.
Weet iemand hier een truuc voor ?
En kan een zoekmachine wel alle pagina's vinden en indexeren op deze manier
?
Tim Van Wassenhove
23/05/04, 14:45
In article <40b090a9$0$1188$ba620dc5@nova.planet.nl>, nova wrote:
> Ik heb een index.php waarin ik alle andere pagina's naar binnen haal door
> middel van include.
> Bijvoorbeeld een link <a href="begin.php?page=history.php">history</a>
> Include is dan: include $page;
Vooreerst wil ik je aanraden die include een beetje intelligent te
implementeren, anders krijg je toestanden zoals
http://www.ict4you.be/hosting.php?pagina=/etc/passwd
> Maar hoe voorkom ik dat wanneer je de afzonderlijke pagina's vind bij google
> ze ook openen in de index.php
> Ik heb het geprobeert met
><SCRIPT LANGUAGE="JavaScript">
><!--
> if (top == self) self.location.href = "index.php?page=history.php";
> // -->
></SCRIPT>
Dat lijkt mij een client-side probleem te zijn.
--
Tim Van Wassenhove <http://home.mysth.be/~timvw/contact.php>
Rene Pijlman
23/05/04, 14:45
"nova" <anno-zero(wegermee)@wxs.nl>:
>Ik heb een index.php waarin ik alle andere pagina's naar binnen haal door
>middel van include.
Waarom zou je dat nou weer willen doen?
>Bijvoorbeeld een link <a href="begin.php?page=history.php">history</a>
>Include is dan: include $page;
Dat klinkt niet erg veilig. Hou je er rekening mee dat een kwaadwillende
client eigen zooi kan invullen bij page= ?
>Maar hoe voorkom ik dat wanneer je de afzonderlijke pagina's vind bij google
>ze ook openen in de index.php
Ik heb dit verhaal 3 keer gelezen, maar ik begrijp er niks van.
--
René Pijlman
Wat wil jij leren? http://www.leren.nl
Warden Dave
23/05/04, 14:55
"nova" <anno-zero(wegermee)@wxs.nl> wrote:
> Ik heb een index.php waarin ik alle andere pagina's naar binnen haal door
> middel van include.
> Bijvoorbeeld een link <a href="begin.php?page=history.php">history</a>
> Include is dan: include $page;
> Maar hoe voorkom ik dat wanneer je de afzonderlijke pagina's vind bij google
> ze ook openen in de index.php
> Ik heb het geprobeert met
<knip>
> if (top == self) self.location.href = "index.php?page=history.php";
<knip>
> Maar dan slaat de server op hol.
Over het 'op hol slaan' i.v.m. de gebrekkige veiligheid is al e.e.a. gezegd dus
laat ik het maar even bij de opmerking dat niets er op wijst dat je in 'index.php'
$page in een frameset gaat zet, en dan zou 'top' gelijk aan 'self' blijven.
> Weet iemand hier een truuc voor ?
Je kunt aan de kant van de server in een bestand makkelijk waarnemen dat ie
ge-INCLUDE is, of niet. Bijv.:
($_SERVER['SCRIPT_FILENAME']==str_replace("\\", "/", realpath(__FILE__)))
Je kunt de 'str_replace' in een niet-win omgeving ook wel weglaten. Bij een
directe 'aanroep' stuur je een Location header en 'exit' je.
Mocht je onverhoopt wel met frames willen stoeien:
http://hace.dyndns.org/niwo/voorbeelden/frameprik.html of
http://tech.irt.org/articles/js126/
http://tech.irt.org/articles/js190/
http://searchenginewatch.com/webmasters/article.php/2167901 en lees ook de _draad_:
http://groups.google.com/groups?as_umsgid=%3C40617b12%240%2493609%24abc4f4c 3@news.wanadoo.nl%3E
WD
Hoe include je dan op een veiliger manier ?
Hoor ik graag.
"Tim Van Wassenhove" <euki@pi.be> schreef in bericht
news:2hbjubFb0h69U2@uni-berlin.de...
> In article <40b090a9$0$1188$ba620dc5@nova.planet.nl>, nova wrote:
> > Ik heb een index.php waarin ik alle andere pagina's naar binnen haal
door
> > middel van include.
> > Bijvoorbeeld een link <a href="begin.php?page=history.php">history</a>
> > Include is dan: include $page;
>
> Vooreerst wil ik je aanraden die include een beetje intelligent te
> implementeren, anders krijg je toestanden zoals
> http://www.ict4you.be/hosting.php?pagina=/etc/passwd
>
> > Maar hoe voorkom ik dat wanneer je de afzonderlijke pagina's vind bij
google
> > ze ook openen in de index.php
> > Ik heb het geprobeert met
> ><SCRIPT LANGUAGE="JavaScript">
> ><!--
> > if (top == self) self.location.href = "index.php?page=history.php";
> > // -->
> ></SCRIPT>
>
> Dat lijkt mij een client-side probleem te zijn.
>
>
>
> --
> Tim Van Wassenhove <http://home.mysth.be/~timvw/contact.php>
"Rene Pijlman" <reply.in.the.newsgroup@my.address.is.invalid> schreef in
bericht news:sf61b053bvue1vfqm3fkee6ijlsv4isc5p@4ax.com...
> "nova" <anno-zero(wegermee)@wxs.nl>:
> >Ik heb een index.php waarin ik alle andere pagina's naar binnen haal door
> >middel van include.
>
> Waarom zou je dat nou weer willen doen?
>
> >Bijvoorbeeld een link <a href="begin.php?page=history.php">history</a>
> >Include is dan: include $page;
>
> Dat klinkt niet erg veilig. Hou je er rekening mee dat een kwaadwillende
> client eigen zooi kan invullen bij page= ?
>
> >Maar hoe voorkom ik dat wanneer je de afzonderlijke pagina's vind bij
google
> >ze ook openen in de index.php
>
> Ik heb dit verhaal 3 keer gelezen, maar ik begrijp er niks van.
>
> --
> René Pijlman
>
> Wat wil jij leren? http://www.leren.nl
Nou, bij de zoekresultaten van een zoekmachien staan ook de andere pagina's
behalve de index pagina.
Als je daar op klikt komt wordt ie dus niet in de index pagina geladen. wat
je ook hebt met pagina's voor frames.
Of was er iets anders dat je niet begreep
Rene Pijlman
23/05/04, 18:05
"nova" <anno-zero(wegermee)@wxs.nl>:
>Nou, bij de zoekresultaten van een zoekmachien staan ook de andere pagina's
>behalve de index pagina.
Ik snap niet hoe die daar komen. Wat doen include files nou in een
zoekmachine?
Een include file is tenslotte een incompleet deel van een pagina, die de
bezoeker niet hoeft te kunnen opvragen.
Include files zet je normaliter in een aparte directory die via robots.txt
wordt uitgesloten. Of nog beter: in een directory buiten de web root,
zodat ze niet via het web kunnen worden opgevraagd.
--
René Pijlman
Wat wil jij leren? http://www.leren.nl
Maarten Wierda
23/05/04, 18:15
nova wrote:
> Hoe include je dan op een veiliger manier ?
Gratis tip: <http://www.hensema.net/docs/quote/index.html>
Controleer eerst of het bestand wel geinclude mag worden, dus niet
zomaar alles klakkeloos includen.
+-
if (isset($_GET["page"]) && !empty($_GET["page"))
{
if ($_GET["page"] == "history.php")
{
if (file_exists($_GET["page"])
include($_GET["page"]);
}
}
--
Cheers, Maarten Wierda
"Old school, new school.
Shit, I didn't go to school!"
"Rene Pijlman" <reply.in.the.newsgroup@my.address.is.invalid> schreef in
bericht news:lth1b05o5nmf2578fhmlb8th78q3ds51se@4ax.com...
> "nova" <anno-zero(wegermee)@wxs.nl>:
> >Nou, bij de zoekresultaten van een zoekmachien staan ook de andere
pagina's
> >behalve de index pagina.
>
> Ik snap niet hoe die daar komen. Wat doen include files nou in een
> zoekmachine?
>
> Een include file is tenslotte een incompleet deel van een pagina, die de
> bezoeker niet hoeft te kunnen opvragen.
>
> Include files zet je normaliter in een aparte directory die via robots.txt
> wordt uitgesloten. Of nog beter: in een directory buiten de web root,
> zodat ze niet via het web kunnen worden opgevraagd.
>
> --
> René Pijlman
>
> Wat wil jij leren? http://www.leren.nl
Een zoekmachiene volgt toch gewoon de links die in een pagina staan , dus de
inhoud van een include wordt dan toch gelezen door de zoekmachine ? Maar nu
begrijp ik het denk ik wel, alle zoekresultaten verwijzen dus altijd naar de
index file.
Het veilig maken van een include heb ik opgelost met een switch
(strtolower($_GET['page'])) statement, werkt toppie.
Rene Pijlman
23/05/04, 18:35
"nova" <anno-zero(wegermee)@wxs.nl>:
>Een zoekmachiene volgt toch gewoon de links die in een pagina staan, dus de
>inhoud van een include wordt dan toch gelezen door de zoekmachine?
Nu spring je van 'link' naar 'include', wat de tussenliggende 'dus'
ongeldig maakt.
>Maar nu begrijp ik het denk ik wel, alle zoekresultaten verwijzen dus altijd
>naar de index file.
Hoezo? Zoekresultaten verwijzen naar afzonderlijke pagina's van je site.
--
René Pijlman
Wat wil jij leren? http://www.leren.nl