WCM - Das österreichische Computer Magazin Forenübersicht
 

Zurück   WCM Forum > Rat & Tat > Programmierung

Programmierung Rat & Tat für Programmierer

Microsoft KARRIERECAMPUS

Antwort
 
Themen-Optionen Ansicht
Alt 24.10.2002, 20:31   #1
catch17
Elite
 
Registriert seit: 27.04.2002
Beiträge: 1.307


Böse 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
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
____________________________________
...wenn Ihr hungert, wenn Ihr dürstet - ihr seit nicht allein, wenn Ihr krank seit wenn Ihr leidet - Ihr seit nicht allein -- ER kümmert sich auch um andere NICHT
catch17 ist offline   Mit Zitat antworten
Alt 24.10.2002, 21:42   #2
Philipp
verXENt
 
Benutzerbild von Philipp
 
Registriert seit: 01.08.1999
Beiträge: 7.084

Mein Computer

Standard

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.
Philipp ist offline   Mit Zitat antworten
Alt 24.10.2002, 21:56   #3
catch17
Elite
 
Registriert seit: 27.04.2002
Beiträge: 1.307


Standard

leider nicht

kammt immer noch folgende meldung:

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



____________________________________
...wenn Ihr hungert, wenn Ihr dürstet - ihr seit nicht allein, wenn Ihr krank seit wenn Ihr leidet - Ihr seit nicht allein -- ER kümmert sich auch um andere NICHT
catch17 ist offline   Mit Zitat antworten
Alt 24.10.2002, 22:39   #4
Philipp
verXENt
 
Benutzerbild von Philipp
 
Registriert seit: 01.08.1999
Beiträge: 7.084

Mein Computer

Standard

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.
Philipp ist offline   Mit Zitat antworten
Alt 25.10.2002, 00:25   #5
catch17
Elite
 
Registriert seit: 27.04.2002
Beiträge: 1.307


Standard

wäre ja falscher pfad soweit ich bis jetzt weiß
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??
____________________________________
...wenn Ihr hungert, wenn Ihr dürstet - ihr seit nicht allein, wenn Ihr krank seit wenn Ihr leidet - Ihr seit nicht allein -- ER kümmert sich auch um andere NICHT
catch17 ist offline   Mit Zitat antworten
Alt 25.10.2002, 11:20   #6
catch17
Elite
 
Registriert seit: 27.04.2002
Beiträge: 1.307


Standard

ok. - hab eine lösung gefunden

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

funkt super - "geht net gibts net" (jetzt kann i wieder grinsen)
____________________________________
...wenn Ihr hungert, wenn Ihr dürstet - ihr seit nicht allein, wenn Ihr krank seit wenn Ihr leidet - Ihr seit nicht allein -- ER kümmert sich auch um andere NICHT
catch17 ist offline   Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.

Gehe zu


Alle Zeitangaben in WEZ +2. Es ist jetzt 00:02 Uhr.


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