Mailinglisten-Archive |
Christian Vosen wrote:
> Warning: is_dir() [function.is-dir]: open_basedir restriction in effect.
> File(..) is not within the allowed path(s): (/www/htdocs/v09xxxx/) in
> /www/htdocs/v09xxxx/gallerie.php on line 84
>
> Das Skript selbst an dieser Stelle sieht so aus:
>
> if (empty($_REQUEST['sr']))
> {
> $gal = dir("./g_bilder");
> $nr = 0;
> while($eintrag = $gal->read())
> {
> if ((!is_dir($eintrag)) && ($eintrag!=".") && ($eintrag!="..") &&
> ($eintrag!="admin") && ($eintrag!="gallery.opt")) // das ist zeile 84
> {
> $gallery_verzeichnis[$nr]=$eintrag;
> $nr+=1;
> }
> }
> sort($gallery_verzeichnis);
du darfst nur auf Dateien/Verezichnisse unterhalb von
"/www/htdocs/v09xxxx/" zugreifen, da du dich bereits in
"/www/htdocs/v09xxxx/" befindest wäre das Verzeichnis ".." eine Stufe
höher, deshalb der Fehler
da du aber eh das Verzeichnisse ".." nicht haben willst musst due bloß
die Überprüfungen in deiner IF-Bedingung umsortieren
da deine IF-Bedingungen durch && verknüpft bricht PHP eh ab so bald eine
Bedingung nicht erfüllt ist, also nimmst du die Überprüfung nach ".."
einfach nach vorne!
(normalerweiße würde man die Bedingung nach vorne nehmen welche am
wahrscheinlichsten ist das sie zutrifft - sparrt Zeit)
if ( $eintrag != "."
&& $eintrag != ".."
&& ! is_dir($eintrag)
&& $eintrag != "admin"
&& $eintrag != "gallery.opt" )
{
...
}
oder (viel schönsten):
$notwanted = array('.', '..', 'gallery.opt', 'admin');
if ( ! in_array($eintrag, $notwanted) && ! is_dir($eintrag) )
{
...
}
--
Sebastian Mendel (www.sebastianmendel.de)
*www.warzonez.de* | www.tekkno4u.de | www.nofetish.com
php::bar PHP Wiki - Listenarchive