WCM Forum

WCM Forum (http://www.wcm.at/forum/index.php)
-   Programmierung (http://www.wcm.at/forum/forumdisplay.php?f=17)
-   -   probs mit "open_basedir"-beschränkung bei php-upload-skript (http://www.wcm.at/forum/showthread.php?t=74622)

catch17 24.10.2002 20:31

probs mit "open_basedir"-beschränkung bei php-upload-skript
 
hi liebe leute,

mir sch****´s schon wieder ein wenig in meine zarten erstlingsversuche in php eini :mad:
hab upload skript und folgendes problem:
in der php.ini is open_basedir auf meinen webverzeichnispfad gesetzt,
kein upload_tmp_dir und safe_mode is on -

wie kann ich server dazu bringen file gleich in mein verzeichnis zu laden und nicht zuerst in TMPDIR (worauf ich ja keinen zugriff hab)abzulegen bzw. neues TMPDIR (oder ähnliches)in meinem verzeichnis definieren (putenv funkt ja nicht > safe_mode on)

hier noch die wichtigsten teile des skripts :

<?php
$filepath = $DOCUMENT_ROOT."/files/upload/";

if (($upfile_name != "") && (file_exists($upfile))) {
$des_file = strtolower($filepath.$upfile_name);
if (!file_exists($des_file))
{
$tempfilesize = filesize($upfile);
list(,,$filetype) = getimagesize($upfile);
if (ereg("(\.jpeg)|(\.jpg)|(\.gif)|(\.png)$", $des_file) &&
($filetype > 0) && ($tempfilesize < 25000))
{
if (move_uploaded_file($upfile, $des_file))
{
echo "Bild wurde gespeichert";
} else {
echo "Upload fehlgeschlagen";
}
}
else
{
echo "Falscher Dateityp - nur *.gif, *.jpg, *.jpeg, *.png Dateien erlaubt.";
}
}
else
{
echo "Bilddatei bereits vorhanden.";
}
}
?>

und hier noch das formular

<form action="upload.php" method="POST" enctype="multipart/form-data">
<input type="hidden" name="MAX_FILE_SIZE" value="30000">
<input type="file" name="upfile">
<input type="submit" value="Hochladen">
</form>

ja noch der vollständigkeit halber am server läuft Linux 2.2 und PHP Version 4.0.3pl1-

hab meinem provider problem gemailt dies war die antwort:

aus sicherheitsgründen ist folgendes von uns vordefiniert:
php_admin_value open_basedir /var/www/domains/xyz.at
beachten sie dies bei ihrer programmierung.
mfg

weiß wer eine lösung für mein problem - oder kann ich mit meinem vorhaben schlichtweg brausen gehen :( :(

bin leider noch dazu php-greenhorn - erschwert das ganze noch etwas ;)

Philipp 24.10.2002 21:42

Wenn Safemode aktiviert ist wird open_basedir nicht wirklich benötigt. Der Provider sollte außerdem PHP dringest updaten.

Zu deinen Problem:
Erstelle dort wo du das Script ausführst ein Verzeichnis "tmp" und setze es auf Chmod 777. Mit etwas Glück funktioniert jetzt der Upload.

catch17 24.10.2002 21:56

leider nicht :heul:

kammt immer noch folgende meldung:

Warning: open_basedir restriction in effect. File is in wrong directory. :mad:



:confused: :confused: :confused:

Philipp 24.10.2002 22:39

Hast du schon versucht zwischen $DOCUMENT_ROOT." und /files/upload/"; den restlichen Pfad anzugeben?

Beispiel:
PHP-Code:

$filepath $DOCUMENT_ROOT."/var/www4/html/files/upload/"

Du solltest den kompletten Pfad bei der Fehlermeldung sehen.

catch17 25.10.2002 00:25

wäre ja falscher pfad soweit ich bis jetzt weiß :confused:
habs jetzt aber trotzdem probiert und es kam: Warning: OpenDir: No such file or directory (errno 2)

hab auch andere php-uploadscripts angesehen - aber überall gleiche variablenübergabe - gibst da echt keine möglichkeit??

catch17 25.10.2002 11:20

ok. - hab eine lösung gefunden :D :D

erledige file-upload mit .cgi in /cgi-bin/

funkt super - "geht net gibts net" :D (jetzt kann i wieder grinsen)


Alle Zeitangaben in WEZ +2. Es ist jetzt 18:45 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
© 2009 FSL Verlag