begin process at 2012 02 11 18:48:48
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Réseau & Internet

 > ENFIN UN UPLOAD PHP

ENFIN UN UPLOAD PHP


 Information sur la source

Note :
4,83 / 10 - par 12 personnes
4,83 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Réseau & Internet Niveau :Débutant Date de création :12/09/2001 Vu :43 795

Auteur : ayperos

Ecrire un message privé
Site perso
Commentaire sur cette source (17)
Ajouter un commentaire et/ou une note

 Description

bah le code n'est pas de moi mais trouvais interessant de la mettre sur le site...
(code d'origine : http://www.php.net/manual/en/features.file-upload. php)

Source

  • => le fichier html (upload.html)
  • <form enctype="multipart/form-data" action="upload.php3" method="post">
  • <input type="text" name="MAX_FILE_SIZE" value="1000">
  • Send this file: <input name="userfile" type="file">
  • <input type="submit" value="Send File">
  • </form>
  • => le fichier php (upload.php3)
  • <?php
  • /* Userland test for uploaded file. */
  • function is_uploaded_file($filename) {
  • if (!$tmp_file = get_cfg_var('upload_tmp_dir')) {
  • $tmp_file = dirname(tempnam('', ''));
  • }
  • $tmp_file .= '/' . basename($filename);
  • /* User might have trailing slash in php.ini... */
  • return (ereg_replace('/+', '/', $tmp_file) == $filename);
  • }
  • if (is_uploaded_file($userfile)) {
  • copy($userfile, "/place/to/put/uploaded/file");
  • } else {
  • echo "Possible file upload attack: filename '$userfile'.";
  • }
  • ?>
        => le fichier html (upload.html)


<form enctype="multipart/form-data" action="upload.php3" method="post">
<input type="text" name="MAX_FILE_SIZE" value="1000">
Send this file: <input name="userfile" type="file">
<input type="submit" value="Send File">
</form>


       => le fichier php (upload.php3)

<?php
/* Userland test for uploaded file. */ 
function is_uploaded_file($filename) {
    if (!$tmp_file = get_cfg_var('upload_tmp_dir')) {
        $tmp_file = dirname(tempnam('', ''));
    }
    $tmp_file .= '/' . basename($filename);
    /* User might have trailing slash in php.ini... */
    return (ereg_replace('/+', '/', $tmp_file) == $filename);
}

if (is_uploaded_file($userfile)) {
    copy($userfile, "/place/to/put/uploaded/file");
} else {
    echo "Possible file upload attack: filename '$userfile'.";
}
?>

 

 Conclusion

bon je l'ai tester sur mon serveur et il marche... il marche, tres vite d'ailleur................ MERDE il s'enfuit...


 Sources du même auteur

Source avec Zip EDITEUR SUR SERVEUR =&GT; POUR CEUX QUI EN ONT MARRE DU FTP

 Sources de la même categorie

Source avec Zip TAPI : METTRE EN RELATION DEUX POSTES TELEPHONIQUES par ravery
Source avec Zip CLIENT / SERVEUR : LES SOCKETS par Morphinof
Source avec Zip VALIDATEUR_3WC par lezj
Source avec Zip MYGGL GOOGLE API CLASS FOR BEGINERZ par lezj
CLASSE WIKILOC par aKheNathOn

Commentaires et avis

Commentaire de RockmanX le 01/01/2002 12:25:54

Bon, voila,
J'ai passé 4 heures sur ce script mais g trouvé les condition pour qu'il marche:
1: pour utilise is_uploaded_file il faut avoir PHP 4, sinon faut renommer,
2: il faut ABSOLUMENT que le dossier cible soit en mod CHMOD 777 sinon il    permet pas l'accès...
3: il vaut ieux définir un nom pour le fichier : $file_name et définir $file_dir
    ainsi, on met tout connement, copy($fupload (=&gt; c le fichier du form),     $filedir/file_name
Je remercie au passage Onurb pour son aide et sa gentillesse

Commentaire de goliath2002 le 07/01/2003 09:32:36

RockmanX soit plus claire, je suis débutant

Commentaire de Mike le 14/01/2003 16:29:36

c pas securisé ts ça, si vous vous faite piraté avec ce script c normal !!!

Commentaire de guyrnaf le 28/08/2003 14:27:19

lu bon tout ça c tres bien mais j'ai pas compris
j'ai pleins de question
est ce que l'on peut choisir le repertoire cible grace a ton script ??
est ce que y a une config ( login /mdp )?
y a til une limite de taille pour les fichiers que l'on veut uploader?

Commentaire de AbriBus le 10/09/2003 21:39:12

Ben chez moi, ca marche po... :-(... il me met l'erreur "Fatal error: Cannot redeclare is_uploaded_file() in c:websitephpupload.php on line 13" puis apres la tentative d'upload erreur 404 avec en url http://monserveur/upload.php3... quelqu'un à une idée ?

Commentaire de mejon2 le 11/11/2003 13:58:27

Salut,
Chez moi ça marche pas aussi.
" Possible file upload attack: filename 'C:Program FilesEasyPHP mpphp36.tmp'. "
Voila, je vais voir si je trouve autre chose.

Commentaire de Do le 13/11/2003 22:55:30

marche pas ici non plus :(

Commentaire de Shadow_Source le 10/03/2004 17:31:32

Voilà, moi aussi g un pb !!
Faut renomer en php4 ? (g modif mon html et mis php4 + .php4 sur le ficher ex php3, marche pas, erreur 405 :().

Le rep est bien en chmod777 mais rien n'y fait !!

Sa marche toujours pas lol.

Es-ce que quelqu'un a une idée ?

Au fait, php4 c pas compatible php3 je suppose, et puis, tout les serv, de nos jours, sont-ils php4 ???

Merci de m'aider !!

Commentaire de romalafrite le 16/05/2004 17:57:30

NOTE IMPORTANTE : tu utilises la fonction copy qui ne fonctionne que sur serveur de base windows, sur serveur UNIX il te faudra utiliser la fonction move_uploaded_file avec tout ce qui va avec...

Commentaire de anix le 17/09/2004 11:18:09

Salut g pour vous un code meilleur ...
... voir www.miasmatik.net

Commentaire de aze555666 le 01/10/2004 20:58:39

voir aussi code.aspx?id=24147

Commentaire de anix le 03/10/2004 13:43:42

ça ne marche pas code.aspx?id=24147 comment l'utiliser SVP....

Commentaire de stanilou le 01/11/2004 10:28:41

anix anix, réfléchi ! http://www.phpcs.com/code.aspx?id=24147

Commentaire de kouki1000 le 13/01/2008 19:56:14

Moi, en erreur:

Fatal error: Cannot redeclare is_uploaded_file() in upload.php3 on line 3

Commentaire de zen69 le 04/02/2008 16:31:17

l'erreur suivante:

Fatal error: Cannot redeclare is_uploaded_file() in upload.php3 on line 3

signifie que la fonction is_uploaded_file() existe déjà.

il serait donc logique d'enlever cette partie de code

# function is_uploaded_file($filename) {
# if (!$tmp_file = get_cfg_var('upload_tmp_dir')) {
# $tmp_file = dirname(tempnam('', ''));
# }
# $tmp_file .= '/' . basename($filename);
# /* User might have trailing slash in php.ini... */
# return (ereg_replace('/+', '/', $tmp_file) == $filename);
# }

Cette fonction est built-in depuis la version 4.0.3 de php

Commentaire de zen69 le 04/02/2008 16:35:15

Cepandant si vous comptez utiliser ce code sur different servers il serait preferable de faire comme suit.

if (!function_exsists(is_uploaded_file))
{
  function is_uploaded_file($filename) {
    if (!$tmp_file = get_cfg_var('upload_tmp_dir')) {
      $tmp_file = dirname(tempnam('', ''));
    }
    $tmp_file .= '/' . basename($filename);
    /* User might have trailing slash in php.ini... */
    return (ereg_replace('/+', '/', $tmp_file) == $filename);
  }
)

Commentaire de Poussmaster le 29/02/2008 06:51:42

En réponse à Anix : l'objet upload n'est plus sur miasmatik.net mais sur miasmatech.net.

 Ajouter un commentaire




Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 2,324 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales