IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Sécuriser l'upload d'image ? verifier l'extention .jpg, .gif, .png


Sujet :

Langage PHP

  1. #1
    Membre à l'essai
    Inscrit en
    Juillet 2008
    Messages
    20
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 20
    Points : 14
    Points
    14
    Par défaut Sécuriser l'upload d'image ? verifier l'extention .jpg, .gif, .png
    Bonjour à tous, une petite question svp.

    Je doit sécuriser mon formulaire d'upload.
    Mais je ny arrive absolument pas, ca fé une semaine que j'essai plein de truck et la, je suis dans le vide.

    Voici mon code, si vous avez une idée, ce serais super kool

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    71
    72
    73
    74
    75
    76
     
    if(isset($_POST['ajouteranimateur'])){
    $cat=$_POST['cat'];
    $nomprenom=addslashes($_POST['nomprenom']);
    $age=addslashes($_POST['age']);
    $bio=addslashes($_POST['bio']);
    $emission=addslashes($_POST['emission']);
     
    $uploaddir = "../public/news/";
    $image1=$_FILES['image1']['name'];
    $uploadfile = $uploaddir . basename($_FILES['image1']['name']);
    move_uploaded_file($_FILES['image1']['tmp_name'], $uploadfile);
    $commaff= mysql_query("SELECT * FROM ".T_COMMENTAIRES." ORDER BY id_com DESC");
    $don = mysql_fetch_array($commaff);
    $com=$don[1]+1;
    $modif = mysql_query("INSERT INTO ".T_COMMENTAIRES." VALUES('', '$com', '', '', '', '')");
    $modif = mysql_query("INSERT INTO ".T_NEWS." VALUES('', '$nomprenom', '$age', '$image1','$bio', '$emission', '$cat','$com')");
    $aujourdhui = date("Ymd");
     
    echo'
    <SCRIPT language=JavaScript>
    alert(\'News Ajoutée\');
    </SCRIPT>';
    }
    if(isset($_GET['add'])){
    $commaff= mysql_query("SELECT * FROM ".T_CATNEWS." ORDER BY ordrer");
     
    		while ($donnees = mysql_fetch_array($commaff))
    			{
    			$option.= '<option value="'.$donnees[0].'">'.stripslashes($donnees[1]).'</option>';
    			}
     
     
    echo'<form action="admin_news.php" method="post" enctype="multipart/form-data" name="form1" id="form1" onSubmit="return submitForm();">
       <table width="97%" height="200" border="0" cellspacing="0" cellpadding="0" class="main_table">
      <tr>
        <td height="45" colspan="2" class="t_header"><div align="center">Ajouter une News </div></td>
      </tr>
      <tr>
        <td width="221" height="29" class="td_1"> Choix Categorie: </td>
        <td width="414" class="td_2"><select name="cat">
        '.$option.'
      </select></td>
      </tr>
      <tr>
        <td width="221" height="29" class="td_1">Titre:</td>
        <td width="414" class="td_2"><input type="textfield" name="nomprenom" size="80" /></td>
      </tr>
     <tr>
        <td width="221" height="29" class="td_1">Date:</td>
        <td width="414" class="td_2"><input name="age" type="textfield" size="80" value="';$date = date("Y-m-d");
    Print("$date");echo'
    "></td>
      </tr>
      <tr>
        <td width="221" height="29" class="td_1">Description:</td>
        <td width="414" class="td_2"><input name="bio" type="textfield" size="80" value="" /></td>
      </tr>
     <tr>
        <td width="221" height="29" class="td_1">Contenu:</td>
        <td width="414" class="td_2">';
    	$oFCKeditor2->Create();
    	echo'</td>
      </tr>
     <tr>
        <td width="221" height="29" class="td_1"> Image: <strong>(Format carré et renommé)</strong></td>
        <td width="414" class="td_2"><input type="file" name="image1" size="80" /></td>
      </tr>
     <tr>
        <td height="45" colspan="2" class="td_1"><div align="center">
    	<input type="submit" name="ajouteranimateur" value="Ajouter"  class="button" />
        </div></td>
      </tr>
    </table>
    </form>';
    }

  2. #2
    Expert éminent sénior
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 243
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 243
    Points : 15 545
    Points
    15 545
    Par défaut
    déjà il en faut pas se fier à l'extension puisque le nom du fichier est définit par le visiteur donc l'extension peut être bricolée. pareil pour l'information qui est dans $_FILES['image1']['mime'], ce n'est pas calculé par le serveur mais envoyé par le client donc il ne faut pas faire confiance à cette valeur

    si tu veux savoir si le fichier est une image ainsi que le type de l'image utilise la fonction http://php.net/getimagesize

  3. #3
    Membre à l'essai
    Inscrit en
    Juillet 2008
    Messages
    20
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 20
    Points : 14
    Points
    14
    Par défaut Merci de ta réponse
    Merci de ta réponse et aussi de ton précieu conseil.
    est t'il possible que tu me dise comment intégrer ce getimagesize sur mon code car je suis tres loin detre developpeur, je suis intégrateur.

    Merci beaucoup

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    489
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2004
    Messages : 489
    Points : 388
    Points
    388

Discussions similaires

  1. Superposer deux images au format BMP, JPG ou PNG
    Par Henri-gp dans le forum Langage
    Réponses: 39
    Dernier message: 22/12/2016, 14h42
  2. [Upload] Upload d'image....
    Par tochbee dans le forum Langage
    Réponses: 3
    Dernier message: 21/11/2005, 11h44
  3. [Debutant] [JSP/Servlet] Upload d'image vers le serveur
    Par ShinJava dans le forum Servlets/JSP
    Réponses: 6
    Dernier message: 05/07/2005, 17h42
  4. Upload d'images sur le forum
    Par KibitO dans le forum Mode d'emploi & aide aux nouveaux
    Réponses: 2
    Dernier message: 09/10/2004, 23h18
  5. [Image]Vérifier taille image lors d'upload FTP
    Par MiJack dans le forum Bibliothèques et frameworks
    Réponses: 5
    Dernier message: 10/09/2004, 01h10

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo