• User Newbie

    problemi upload php

    Ciao a tutti ragazzi, ho da poco creato un sito web, as-salvatoretunno.it, e ho un problema con l'upload dei file.
    Mi spiego meglio. Utilizzo uno script in php ceh mi permette di definire in quale direcotory finiranno i file caricati. Finchè il sito è stato ospitato su altervista l'upload funzionava anche se i file venivano caricati sempre nella cartella principale. Il mio sito adesso si trova in hosting su aruba e l'upload non va. Vi posto il codice e spero possiate aiutarmi grazie mille.

    [php]<?

    /* Easy Uploader */

    // set variables (SET THESE TO SUIT YOUR CIRCUMSTANCES):

    // Upload directory (MUST HAVE TRAILING SLASH):
    $uploaddir="/as-salvatoretunno.it/upload/";
    // Your email
    $youremail="[email protected]";
    // Thank you page:
    $thankspage="carica.php";

    // Set Upload thanks message for USER
    $uptymessage="$realname, Grazie per aver caricato $file_name\n\n. A presto il Team Karate Valenzano (BA)";
    // Set Upload thanks message for OWNER
    $ownermessage="$realname [ $email ] ha caricato $file_name\n\ncontrolla i l'upload.";
    // Email message on or off ? 1 = on, 0 = off
    $emailmessages = "1";

    // start code (DO NOT CHANGE ANYTHING BELOW THIS LINE):

    // Check for valid email address

    $x = ereg("^0-9a-z@0-9a-z\.[a-z]{2,3}$",$email);

    if($x==0)

    // if no valid email address entered, display no email message
    {
    header("Location: errore.html");
    }
    else {

    // Check to see if valid file
    if ($file == "none") {
    // if no valid email address entered, display no file message
    header("Location: errore.html");
    }
    else {
    //directory to upload to
    copy($file, $uploaddir.$file_name);
    unlink($file);

    //return thank you page
    Header("Location: $thankspage");
    }
    }
    if ($emailmessages == "1") {
    //mail you to let you know a new uploaded file
    mail("$youremail", "Uploaded file", "$ownermessage");
    //mail user to thank them
    mail("$email", "Uploaded file", "$uptymessage");
    exit;
    }

    ?>[/php]


  • User

    Allora prova a configurare l'uploader in questo modo:

    
    // Upload directory (MUST HAVE TRAILING SLASH):
    $uploaddir="upload/";
    
    

    Inoltre, ti consiglio di inserire un controllo delle estensioni ad esempio nega l'inserzione di file php perche' potrebbero caricarti nel sito delle backdoor...


  • User Newbie

    Grazie mille per la risposta, ci provo subito.
    Per quantom riguarda il controllo sull'estesione, visto che non sono esperto di php ma sto cercando di impararlo ora, implemente un controllo sulla stringa o ci sono già funzioni che semplificano il lavoro?

    Grazie ancora per la disponibilità.


  • User Newbie

    Allora ho provato a modificare lo script come mi hai detto ma continua a non effettuare l'upload.
    Ho provato ad utilizzare anche il seguente script

    [php]<?php
    // In PHP versions earlier than 4.1.0, $HTTP_POST_FILES should be used instead
    // of $_FILES.

    $uploaddir = '/as-salvatoretunno.it/upload/';
    $uploadfile = $uploaddir . basename($HTTP_POST_FILES['userfile']['name']);

    echo '<pre>';
    if (move_uploaded_file($HTTP_POST_FILES['userfile']['tmp_name'], $uploadfile)) {
    echo "File is valid, and was successfully uploaded.\n";
    } else {
    echo "Possible file upload attack!\n";
    }

    echo 'Here is some more debugging info:';
    print_r($HTTP_POST_FILES);

    print "</pre>";

    ?>[/php]

    Ma ancora nulla. Sto iniziando a pensare che il problema è di aruba.


  • Consiglio Direttivo

    Ciao mincio89, hai verificato che le cartelle interessate abbiano i permessi adeguati? 🙂


  • User Newbie

    Mi hai fatto sorgere il dubbio.. l'ho appena fatto ma ha tutti i permessi sono attivi (scrittura, lettura, esegui ) quindi non penso sia questo il problema.
    Grazie comunque per il suggerimento.


  • Consiglio Direttivo

    Prova a farti un echo di $uploadfile e vedi che ti tira fuori. 😉


  • User Newbie

    image


  • User Newbie

    upload/ (echo della variabile $uploadfile)
    Possible file upload attack!
    upload/Here is some more debugging info:Array
    (
    [file] => Array
    (
    [name] => 6.JPG
    [type] => image/jpeg
    [tmp_name] => C:\PHP\upload\php1119.tmp
    [error] => 0
    => 52774
    )

    )

    questo è il risultato dell'upload