Registrieren  •  Login 
  
 
im Forum


 FAQ   Mitgliederliste   Benutzergruppen   Teamseite   Suchen 

Uploadskript
Gehe zu Seite 1, 2  Weiter
 
Neues Thema eröffnen   Neue Antwort erstellen
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
thoha
Übersetzer
Übersetzer



Anmeldedatum: 07.10.2006
Geschlecht: Männlich
Beiträge: 2591

BeitragVerfasst am: 18.03.2007, 16:59    Titel: Uploadskript

Hallo zusammen

Ich habe mir ein vorgefrtigtes Downloadskript runtergeladen (webmaster-resource.de).
Ich habe es auch ein bisschen Verändert, hier mal der Code:

PHP-Code:
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
<?php
if($_REQUEST['Send'])
{
    if(
$_FILES['Datei']['tmp_name'])
    {
        echo
"Ihre Datei (&quot;",
            
$_FILES['Datei']['name'],
            
"&quot;) ist ",
            
$_FILES['Datei']['size'],
            
" Bytes groß.";
        
move_uploaded_file($_FILES['Datei']['tmp_name'], $_POST['select'].$_FILES['Datei']['name']);
    }
    else
    {
        echo
"Bitte geben Sie eine Datei an!";
    }
}
else
{
?>
<?php
include('zugriff3.inc.php');
?>
<html>
<head>
<link rel="stylesheet" type="text/css" href="http://www.stufejosua-weingeri.ch/admin/adminmenu.css">
</head>
<body>
<div align="left">
<h1>Neuer Download</h1>
<p>&nbsp;</p>
<p>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" enctype="multipart/form-data" method="post">
  <p>
    <input name="Datei" type="file">
    </p>
  <p>
    <label>
    <select name="select">
    <option>/files/public/</option>
    <option>/files/private/</option>
    </select>
    </label>
    Verzeichnis (/files/public = &Ouml;ffentlich , /files/private = Nur f&uuml;r Leiter <br>
      <input name="Send" type="submit" value="Upload">
    </p>
</form>
</p>
</div>
</body>
</html>

<?php
}
?>


Wenn ich die Beispielsdatei "log1.txt" hochladen möchte, kommt folgende Ausgabe und Fehlermeldung:
Zitat:
Ihre Datei ("log1.txt") ist 241 Bytes groß.
Warning: move_uploaded_file(): open_basedir restriction in effect. File(/files/public/log1.txt) is not within the allowed path(s): (/home/www/web432/:/usr/bin) in /home/www/web432/html/admin/newdown.php on line 11

Wieso kommt diese Fehlermeldung? Hochgeladen wird die Datei sowieso nicht, wie sich dann herausstellt.


Kann mir jemand helfen?
Nach oben
Benutzer-Profile anzeigen thoha ist derzeit offline Spielerprofile bei SC:Special Bewerben anzeigen Private Nachricht senden
killerbees19
Administrator & Rennleitung
Administrator & Rennleitung



OC-Nickname: KB19
Südafrika Team South Africa

Anmeldedatum: 09.05.2006
Geschlecht: Männlich
Alter: 29 Jahre
Beiträge: 13942
Wohnort: Wien

BeitragVerfasst am: 18.03.2007, 17:18    Titel:

Zitat:
is not within the allowed path(s)

Alles klar? Der Pfad ist nicht korrekt Wink

Übrigens fehlt diesem Uploadscript eine Menge an Sicherheitsüberprüfungen die man beim Dateiupload braucht. Denn die Datei sollte umbenannt werden, damit man nicht PHP-Dateien oder ähnliches hochladen kann. Auch sollte man mit der Funktion is_uploaded_file() prüfen ob es sich wirklich um die Datei handelt.


MfG Christian
_________________
Nach oben
Benutzer-Profile anzeigen killerbees19 ist derzeit offline Spielerprofile bei SC:Special Bewerben anzeigen Private Nachricht senden Website dieses Benutzers besuchen
thoha
Übersetzer
Übersetzer



Anmeldedatum: 07.10.2006
Geschlecht: Männlich
Beiträge: 2591

BeitragVerfasst am: 18.03.2007, 17:37    Titel:

Es macht nichts, dass die Sicherheitseinstellungen fehlen, denn auf die Datei werde sowieso nur ich und 4 andere Zugriff haben, der Ordner ist geschützt Wink


ich kapier nicht, wieso der Pfad falsch sein sollte...


Edit:

hab noch ein bisschen rumprobiert.
Wenn ich nun die Select so mache:
Code:
   <option>waehlen</option>
   <option>files/public/</option>
   <option>files/private/</option>


Erscheint folgende Meldung:
Zitat:
Ihre Datei ("log1.txt") ist 241 Bytes groß.
Warning: move_uploaded_file(files/public/log1.txt): failed to open stream: No such file or directory in /home/www/web432/html/admin/newdown.php on line 11

Warning: move_uploaded_file(): Unable to move '/home/www/web432/phptmp/phpee4gZm' to 'files/public/log1.txt' in /home/www/web432/html/admin/newdown.php on line 11


Dieser Beitrag wurde insgesamt 1 mal geändert. Zuletzt von thoha.
Nach oben
Benutzer-Profile anzeigen thoha ist derzeit offline Spielerprofile bei SC:Special Bewerben anzeigen Private Nachricht senden
killerbees19
Administrator & Rennleitung
Administrator & Rennleitung



OC-Nickname: KB19
Südafrika Team South Africa

Anmeldedatum: 09.05.2006
Geschlecht: Männlich
Alter: 29 Jahre
Beiträge: 13942
Wohnort: Wien

BeitragVerfasst am: 18.03.2007, 20:26    Titel:

Hat der Ordner auch CHMOD 777?


MfG Christian
_________________
Nach oben
Benutzer-Profile anzeigen killerbees19 ist derzeit offline Spielerprofile bei SC:Special Bewerben anzeigen Private Nachricht senden Website dieses Benutzers besuchen
thoha
Übersetzer
Übersetzer



Anmeldedatum: 07.10.2006
Geschlecht: Männlich
Beiträge: 2591

BeitragVerfasst am: 18.03.2007, 20:59    Titel:

Ja.

Immer noch
Zitat:
Ihre Datei ("log1.txt") ist 241 Bytes groß.
Warning: move_uploaded_file(files/public/log1.txt): failed to open stream: No such file or directory in /home/www/web432/html/admin/newdown.php on line 11

Warning: move_uploaded_file(): Unable to move '/home/www/web432/phptmp/phpuM6Z1T' to 'files/public/log1.txt' in /home/www/web432/html/admin/newdown.php on line 11
Nach oben
Benutzer-Profile anzeigen thoha ist derzeit offline Spielerprofile bei SC:Special Bewerben anzeigen Private Nachricht senden
killerbees19
Administrator & Rennleitung
Administrator & Rennleitung



OC-Nickname: KB19
Südafrika Team South Africa

Anmeldedatum: 09.05.2006
Geschlecht: Männlich
Alter: 29 Jahre
Beiträge: 13942
Wohnort: Wien

BeitragVerfasst am: 19.03.2007, 08:33    Titel:

Zitat:
No such file or directory in

Bist du sicher, dass der Pfad stimmt?
Also existiert dieser Ordner wirklich?
Überprüfe das einmal über FTP Wink


MfG Christian
_________________
Nach oben
Benutzer-Profile anzeigen killerbees19 ist derzeit offline Spielerprofile bei SC:Special Bewerben anzeigen Private Nachricht senden Website dieses Benutzers besuchen
thoha
Übersetzer
Übersetzer



Anmeldedatum: 07.10.2006
Geschlecht: Männlich
Beiträge: 2591

BeitragVerfasst am: 19.03.2007, 17:37    Titel:

ja, es stimmt eigentlich alles... das heisst moment, ich hab' da so ne Idee...


edit: es kommt nun keine fehlermeldung, aber die Datei wird trotzdem hochgeladen.

das skript sieht nun so aus:

PHP-Code:
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
<?php
if($_REQUEST['Send'])
{
    if(
$_FILES['Datei']['tmp_name'])
    {
        echo
"Ihre Datei (&quot;",
            
$_FILES['Datei']['name'],
            
"&quot;) ist ",
            
$_FILES['Datei']['size'],
            
" Bytes groß.";
        
move_uploaded_file($_FILES['Datei']['tmp_name'], $_POST['select'].$_FILES['Datei']['name']);
    }
    else
    {
        echo
"Bitte geben Sie eine Datei an!";
    }
}
else
{
?>
<?php
include('zugriff3.inc.php');
?>
<html>
<head>
<link rel="stylesheet" type="text/css" href="http://www.stufejosua-weingeri.ch/admin/adminmenu.css">
</head>
<body>
<div align="left">
<h1>Neuer Download</h1>
<p>&nbsp;</p>
<p>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" enctype="multipart/form-data" method="post">
  <p>
    <input name="Datei" type="file">
    </p>
  <p>
    <label>
    <select name="select">
    <option>waehlen</option>
    <option>/home/www/web432/html/files/public/</option>
    <option>/home/www/web432/html/files/private/</option>
    </select>
    </label>
    Verzeichnis (/files/public = &Ouml;ffentlich , /files/private = Nur f&uuml;r Leiter <br>
      <input name="Send" type="submit" value="Upload">
    </p>
</form>
</p>
</div>
</body>
</html>

<?php
}
?>


Dieser Beitrag wurde insgesamt 1 mal geändert. Zuletzt von thoha.
Nach oben
Benutzer-Profile anzeigen thoha ist derzeit offline Spielerprofile bei SC:Special Bewerben anzeigen Private Nachricht senden
P@k.l
Ehemaliger
Ehemaliger



Anmeldedatum: 17.06.2006
Geschlecht: Männlich
Beiträge: 340
Wohnort: Köln

BeitragVerfasst am: 19.03.2007, 20:05    Titel:

thoha hat Folgendes geschrieben:
edit: es kommt nun keine fehlermeldung, aber die Datei wird trotzdem (nicht?) hochgeladen.


Ich hab das Script mal ein wenig verändert. Kannst du mal schauen, was es ausgibt, wenn du etwas hochladen möchtest?
PHP-Code:
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
<?php
if($_REQUEST['Send'])
{
    if(
$_FILES['Datei']['tmp_name'])
    {
        echo 
"Ihre Datei (&quot;",
            
$_FILES['Datei']['name'],
            
"&quot;) ist ",
            
$_FILES['Datei']['size'],
            
" Bytes groß.";

        if(
move_uploaded_file($_FILES['Datei']['tmp_name'], $_POST['select'].$_FILES['Datei']['name']))
        {
            echo 
"<br />Datei erfolgreich hochgeladen.";
        }
        else
        {
            echo 
"<br />Fehler beim hochladen der Datei.";
        }
    }
    else
    {
        echo
"Bitte geben Sie eine Datei an!";
    }
}
else
{
?>
<?php
include('zugriff3.inc.php');
?>
<html>
<head>
<link rel="stylesheet" type="text/css" href="http://www.stufejosua-weingeri.ch/admin/adminmenu.css">
</head>
<body>
<div align="left">
<h1>Neuer Download</h1>
<p>&nbsp;</p>
<p>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" enctype="multipart/form-data" method="post">
  <p>
    <input name="Datei" type="file">
    </p>
  <p>
    <label>
    <select name="select">
    <option>waehlen</option>
    <option>/home/www/web432/html/files/public/</option>
    <option>/home/www/web432/html/files/private/</option>
    </select>
    </label>
    Verzeichnis (/files/public = &Ouml;ffentlich , /files/private = Nur f&uuml;r Leiter <br>
      <input name="Send" type="submit" value="Upload">
    </p>
</form>
</p>
</div>
</body>
</html>

<?php
}
?>

_________________


Dieser Beitrag wurde insgesamt 1 mal geändert. Zuletzt von P@k.l.
Nach oben
Benutzer-Profile anzeigen P@k.l ist derzeit offline Private Nachricht senden Website dieses Benutzers besuchen
thoha
Übersetzer
Übersetzer



Anmeldedatum: 07.10.2006
Geschlecht: Männlich
Beiträge: 2591

BeitragVerfasst am: 19.03.2007, 21:28    Titel:

So wäre es korrekt, deins gibt zwei Fehlermeldungen:

PHP-Code:
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
<?php
if($_REQUEST['Send'])
{
    if(
$_FILES['Datei']['tmp_name'])
    {
        echo 
"Ihre Datei (",
            
$_FILES['Datei']['name'],
            
") ist ",
            
$_FILES['Datei']['size'],
            
" Bytes groß.";

        if(
move_uploaded_file($_FILES['Datei']['tmp_name'], $_POST['select'].$_FILES['Datei']['name']))
        {
            echo 
"<br />Datei erfolgreich hochgeladen.";
        }
        else
        {
            echo 
"<br />Fehler beim hochladen der Datei.";
        }
    }
    else
    {
        echo
"Bitte geben Sie eine Datei an!";
    }
}
else
{
?>
<?php
include('zugriff3.inc.php');
?>
<html>
<head>
<link rel="stylesheet" type="text/css" href="http://www.stufejosua-weingeri.ch/admin/adminmenu.css">
</head>
<body>
<div align="left">
<h1>Neuer Download</h1>
<p>&nbsp;</p>
<p>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" enctype="multipart/form-data" method="post">
  <p>
    <input name="Datei" type="file">
    </p>
  <p>
    <label>
    <select name="select">
    <option>waehlen</option>
    <option>/home/www/web432/html/files/public/</option>
    <option>/home/www/web432/html/files/private/</option>
    </select>
    </label>
    Verzeichnis (/files/public = &Ouml;ffentlich , /files/private = Nur f&uuml;r Leiter <br>
      <input name="Send" type="submit" value="Upload">
    </p>
</form>
</p>
</div>
</body>
</html>

<?php
}
?>


Komisch, das Skript meldet, dass die Datei hochgeladen wurde, aber auf dem Server befindet sich trotzdem nichts Confused
Nach oben
Benutzer-Profile anzeigen thoha ist derzeit offline Spielerprofile bei SC:Special Bewerben anzeigen Private Nachricht senden
killerbees19
Administrator & Rennleitung
Administrator & Rennleitung



OC-Nickname: KB19
Südafrika Team South Africa

Anmeldedatum: 09.05.2006
Geschlecht: Männlich
Alter: 29 Jahre
Beiträge: 13942
Wohnort: Wien

BeitragVerfasst am: 20.03.2007, 09:03    Titel:

Also wenn keine Fehlermeldung ausgegeben wird, muss die Datei ja irgendwo sein Laughing

Ändere mal folgende Zeile:
Code:
echo "<br />Datei erfolgreich hochgeladen.";

in:
Code:
echo "<br />Datei erfolgreich hochgeladen.<br /><b>Speicherort: ".$_POST['select'].$_FILES['Datei']['name'].'</b>';



MfG Christian
_________________
Nach oben
Benutzer-Profile anzeigen killerbees19 ist derzeit offline Spielerprofile bei SC:Special Bewerben anzeigen Private Nachricht senden Website dieses Benutzers besuchen
thoha
Übersetzer
Übersetzer



Anmeldedatum: 07.10.2006
Geschlecht: Männlich
Beiträge: 2591

BeitragVerfasst am: 20.03.2007, 16:50    Titel:

Ausgabe:
Zitat:
/home/www/web432/html/files/public/log1.txt


das stimmt ja auch alles, aber im FTP seh' ich sie trotzdem nicht.
Nach oben
Benutzer-Profile anzeigen thoha ist derzeit offline Spielerprofile bei SC:Special Bewerben anzeigen Private Nachricht senden
killerbees19
Administrator & Rennleitung
Administrator & Rennleitung



OC-Nickname: KB19
Südafrika Team South Africa

Anmeldedatum: 09.05.2006
Geschlecht: Männlich
Alter: 29 Jahre
Beiträge: 13942
Wohnort: Wien

BeitragVerfasst am: 20.03.2007, 16:52    Titel:

Versuche doch einmal die Datei gleich nachher mit dem Browser aufzurufen Wink
Kann ja nicht sein, dass die Datei verschwindet Laughing


MfG Christian
_________________
Nach oben
Benutzer-Profile anzeigen killerbees19 ist derzeit offline Spielerprofile bei SC:Special Bewerben anzeigen Private Nachricht senden Website dieses Benutzers besuchen
thoha
Übersetzer
Übersetzer



Anmeldedatum: 07.10.2006
Geschlecht: Männlich
Beiträge: 2591

BeitragVerfasst am: 20.03.2007, 17:30    Titel:

jetzt hat's geklappt...


Aber komisch: im FireFTP erscheint die Datei nicht, im WS_FTP schon... und mit dem Browser aufrufen kann ich sie auch...


Weiteres Problem:

PHP-Code:
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
<?php
if($_REQUEST['Send'])
{
    if(
$_FILES['Datei']['tmp_name'])
    {
        echo 
"Ihre Datei (",
            
$_FILES['Datei']['name'],
            
") ist ",
            
$_FILES['Datei']['size'],
            
" Bytes groß.";

        if(
move_uploaded_file($_FILES['Datei']['tmp_name'], $_POST['select'].$_FILES['Datei']['name']))
        {
            echo 
"<br />Datei erfolgreich hochgeladen.<br /><b>Speicherort: ".$_POST['select'].$_FILES['Datei']['name'].'</b>';
$tmp $_FILES['Datei']['name'];
$tmplenght strlen($tmp);
//Relativen Pfad ermittelm
$path substr($tmp21$tmplenght);
echo 
$path;
        }
        else
        {
            echo 
"<br />Fehler beim hochladen der Datei.";
        }
    }
    else
    {
        echo
"Bitte geben Sie eine Datei an!";
    }
}
else
{
?>
<?php
include('zugriff3.inc.php');
?>
<html>
<head>
<link rel="stylesheet" type="text/css" href="http://www.stufejosua-weingeri.ch/admin/adminmenu.css">
</head>
<body>
<div align="left">
<h1>Neuer Download</h1>
<p>&nbsp;</p>
<p>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" enctype="multipart/form-data" method="post">
  <p>
    <input name="Datei" type="file">
    </p>
  <p>
    <label>
    <select name="select">
    <option>waehlen</option>
    <option>/home/www/web432/html/files/public/</option>
    <option>/home/www/web432/html/files/private/</option>
    </select>
    </label>
    Verzeichnis (/files/public = &Ouml;ffentlich , /files/private = Nur f&uuml;r Leiter <br>
      <input name="Send" type="submit" value="Upload">
    </p>
</form>
</p>
</div>

</body>
</html>

<?php
}
?>


Ich bekomme von $path keine Ausgabe - wieso?

Dieser Beitrag wurde insgesamt 1 mal geändert. Zuletzt von thoha.
Nach oben
Benutzer-Profile anzeigen thoha ist derzeit offline Spielerprofile bei SC:Special Bewerben anzeigen Private Nachricht senden
thoha
Übersetzer
Übersetzer



Anmeldedatum: 07.10.2006
Geschlecht: Männlich
Beiträge: 2591

BeitragVerfasst am: 21.03.2007, 16:46    Titel:

häs änybody got an äidii? Laughing has anybody got an idea
Nach oben
Benutzer-Profile anzeigen thoha ist derzeit offline Spielerprofile bei SC:Special Bewerben anzeigen Private Nachricht senden
killerbees19
Administrator & Rennleitung
Administrator & Rennleitung



OC-Nickname: KB19
Südafrika Team South Africa

Anmeldedatum: 09.05.2006
Geschlecht: Männlich
Alter: 29 Jahre
Beiträge: 13942
Wohnort: Wien

BeitragVerfasst am: 21.03.2007, 17:37    Titel:

Sorry, hab dein Edit nicht mitbekommen Embarassed

Was willst du damit bewirken? Du müsstest schon statt 21 eine Null schreiben, aber dann gibst du ja den gleichen Pfad aus. Brauchst du vielleicht eine Funktion wie dirname()?


MfG Christian
_________________
Nach oben
Benutzer-Profile anzeigen killerbees19 ist derzeit offline Spielerprofile bei SC:Special Bewerben anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen Alle Zeiten sind GMT + 1 Stunde
Gehe zu Seite 1, 2  Weiter
Seite 1 von 2

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht teilnehmen.
Du kannst Dateien in diesem Forum nicht hochladen.
Du kannst Dateien in diesem Forum nicht herunterladen.

 

Alle Zeiten sind GMT + 2 Stunden (Sommerzeit)
Aktuelles Datum und Uhrzeit: 07.04.2020, 13:15
Nach oben
Valid HTML 4.01 Transitional
Valid CSS!
Software based on work from the phpBB-Group  •  Deutsche Übersetzung von phpBB.de

netcup - Internetdienstleistungen
 
 
[ happytec.at | forum.happytec.at | blog.happytec.at | esports.happytec.at | event.happytec.at ]