Ce script est-il sécurisé ?

numaa
WRInaute discret
WRInaute discret
 
Messages: 225
Inscription: 10 Jan 2005

Ce script est-il sécurisé ?

Message le Ven Juin 12, 2009 11:30

Bonjour,

Je viens de récupérer ce script d'Upload d'mages sur internet .

Je l'ai testé sur mon site et il foctionne parfaitement .

Par contre j'y connais rien et je me demande s'il est correctement protégé?

Pourriez-vous y jeter un oeil et me dire si je peut le mettre sur mon site sans risques ?

Merci d'avance .

Code: Tout sélectionner
<?php

//--------------------------------------
//  DEFINITION DES VARIABLES
//--------------------------------------

$target     = "files/";  // Repertoire cible
$max_size   = 10000000000000;     // Taille max en octets du fichier
$width_max  = 100000000000;        // Largeur max de l'image en pixels
$height_max = 100000000000;        // Hauteur max de l'image en pixels

$extensions_ok = array("jpg","gif","png","jpeg");

//------------------------------------------------------------
//  DEFINITION DES VARIABLES LIEES AU FICHIER
//------------------------------------------------------------

$nom_file   = $_FILES['fichier']['name'];
$taille     = $_FILES['fichier']['size'];
$tmp        = $_FILES['fichier']['tmp_name'];
$chemin     = $target.$_FILES['fichier']['name'];

$extension  = substr($nom_file,-3); // Récupération de l'extension

//---------------------------
//  SCRIPT D'UPLOAD
//---------------------------

if($_POST['posted'])
{

// On vérifie si le champ est rempli

  if($_FILES['fichier']['name'])
  {
     // On vérifie l'extension du fichier

    if(in_array(strtolower($extension),$extensions_ok))
    {
       // On récupère les dimensions du fichier

        $infos_img = getimagesize($_FILES['fichier']['tmp_name']);
             
        // On vérifie les dimensions et taille de l'image

        if(($infos_img[0] <= $width_max) && ($infos_img[1] <= $height_max) && ($taille <= $max_size))
        {
           // Si c'est OK, on teste l'upload

            if(move_uploaded_file($tmp,$chemin))
            {

              // Si upload OK alors on affiche le message de réussite
                echo '<p>Image uploadée avec succès !</p>';
                echo '<ul><li>Fichier : '.$_FILES['fichier']['name'].'</li>';
                echo '<li>Taille : '.$_FILES['fichier']['size'].' Octets</li>';
                echo '<li>Largeur : '.$infos_img[0].' px</li>';
                echo '<li>Hauteur : '.$infos_img[1].' px</li></ul>';
            echo '<p>Vous pouvez uploader une autre image !</p>';
               
            }
               else
            {

               // Sinon on affiche une erreur système
                echo '<p>Problème lors de l\'upload !</p>';
                 
            }
        }
          else
        {

          // Sinon erreur sur les dimensions et taille de l'image
          echo '<p>Erreur dans les dimensions ou taille de l\'image !</p>';
        }
    }
      else
    {

      // Sinon on affiche une erreur pour l'extension
        echo '<p>Votre image ne comporte pas une extension valide !</p>';
         
    }
   }
    else
   {

    // Sinon on affiche une erreur pour le champ vide
    echo '<p>Le champ du formulaire est vide !</p>';
   }
}
?>
<html>
<head>
<title>Upload d'une image sur le serveur !</title>
</head>
<body>
<form enctype="multipart/form-data" action="<?php echo $PHP_SELF; ?>" method="POST">
<p>Envoyer le fichier :</p>
<input type="hidden" name="posted" value="1">
<input name="fichier" type="file">
<input type="submit" value="Uploader">
</form>
</body>
</html>

DadouDuck
WRInaute impliqué
WRInaute impliqué
 
Messages: 910
Inscription: 28 Mai 2007

Re: Ce script est-il sécurisé ?

Message le Ven Juin 12, 2009 12:22

Non, la méthode de vérification de l'extension est la pire que l'on puisse mettre en place : il me suffit de faire un joli petit script php par exemple et de lui mettre comme extension .jpg par exemple, et a partir de la, je peux faire pleins de petites choses sur ton serveur

webmasterdemonsite
WRInaute passionné
WRInaute passionné
 
Messages: 1095
Inscription: 31 Aoû 2007

Re: Ce script est-il sécurisé ?

Message le Ven Juin 12, 2009 12:38

du 6eme au 9eme octet d'un fichier jpg tu doit trouver ceci: JFIF

renseigne toi sur le format de fichier jpg, apres je sais pas comment tu veux verifier en php le format de fichier...


bidulemachin
WRInaute discret
WRInaute discret
 
Messages: 102
Inscription: 5 Oct 2007

Re: Ce script est-il sécurisé ?

Message le Ven Juin 12, 2009 13:02

Il me semble que le 3ème paramètre du tableau renvoyé par getimagesize est un numérique correspondant au type d'image. Si tu envoies un JPEG avec une extension GIF, il te renverra JPEG ;)

webmasterdemonsite
WRInaute passionné
WRInaute passionné
 
Messages: 1095
Inscription: 31 Aoû 2007

Re: Ce script est-il sécurisé ?

Message le Ven Juin 12, 2009 13:08

bidulemachin a écrit:Il me semble que le 3ème paramètre du tableau renvoyé par getimagesize est un numérique correspondant au type d'image. Si tu envoies un JPEG avec une extension GIF, il te renverra JPEG ;)



L'index 2 est une constante parmi IMAGETYPE_XXX, indiquant le type de l'image.


:arrow: http://www.php.net/manual/fr/function.getimagesize.php

bien vu ;-)


bidulemachin
WRInaute discret
WRInaute discret
 
Messages: 102
Inscription: 5 Oct 2007

Re: Ce script est-il sécurisé ?

Message le Ven Juin 12, 2009 13:30

Tu auras surement besoin de ce tableau aussi : (fais correspondre l'id renvoyé avec la valeur dans le tableau)
$types = array(
1 => 'GIF',
2 => 'JPG',
3 => 'PNG',
4 => 'SWF',
5 => 'PSD',
6 => 'BMP',
7 => 'TIFF(intel byte order)',
8 => 'TIFF(motorola byte order)',
9 => 'JPC',
10 => 'JP2',
11 => 'JPX',
12 => 'JB2',
13 => 'SWC',
14 => 'IFF',
15 => 'WBMP',
16 => 'XBM'
);

numaa
WRInaute discret
WRInaute discret
 
Messages: 225
Inscription: 10 Jan 2005

Re: Ce script est-il sécurisé ?

Message le Ven Juin 12, 2009 14:01

Bon bah merci les amis

Je saurais absolument pas modifier tout cela .

Je vais laisser tomber et chercher autre chose .


bidulemachin
WRInaute discret
WRInaute discret
 
Messages: 102
Inscription: 5 Oct 2007

Re: Ce script est-il sécurisé ?

Message le Ven Juin 12, 2009 14:09

numaa a écrit:Bon bah merci les amis

Je saurais absolument pas modifier tout cela .

Je vais laisser tomber et chercher autre chose .


C'est pas très difficile mais faut s'y connaitre c'est vrai! Envoie moi un MP avec ce que tu veux, je peux te dépanner si t'en as vraiment besoin! Sachant que les sources sur le net sont pas tiptop

numaa
WRInaute discret
WRInaute discret
 
Messages: 225
Inscription: 10 Jan 2005

Re: Ce script est-il sécurisé ?

Message le Ven Juin 12, 2009 14:19

Merci bidule machin je t'envoi un MP .

Sinon quelqu'un connait un petit script d'upload qui marche bien et qui soit sécurisé ?


Si vous avez aimé cette discussion, partagez-la sur vos réseaux sociaux préférés :

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités