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écurité dans mon formulaire


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Mars 2008
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 13
    Par défaut sécurité dans mon formulaire
    Bonjour,

    A deux reprises mon site a été bloqué par mon hébergeur "par mesure de sécurité", car une personne extérieure semblait vouloir exécuter un programme.
    Problème rencontré : prog launched from tmp directory
    Commande apparente : /usr/local/apache/bin/httpd
    Exécutable utilisé : /var/log/tmp/cbfeed/f9/backup/httpd
    Avant ça j'avais déjà remarqué que j'avais reçu une ou deux heures avant des mails étranges (envoyés depuis mon formulaire de contact).

    La première fois j'avais donc immédiatement retiré le fichier contact.php du serveur et ajouté des html_entities() sur tous les champs que je récupérais.

    Mais apparemment cela n'a pas suffit, donc je voulais savoir quelles modifications je devrais apporter sur mon fichier pour qu'il n'y ait plus de failles de sécurité.

    Voici un des emails que j'ai reçu peu avant la tentative de piratage
    De : sidestep@tom.com
    Envoyé : sam. 10/05/08 19:44
    À : jamesbond-fr@[...]
    --------------------------------
    Sujet :
    Son nom / pseudo :
    Son adresse e-mail : signaler une actualit? >signaler une actualit?/option> <option value=
    Son pays : non précis?>veuillez choisir</option> <option value=
    La note qu'il a donné à JamesBond-fr.com : non précis?>veuillez choisir</option> <option>0/10 - nul</option> <option>1/10</option> <option>2/10</option> <option>3/10</option> <option>4/10</option> <option>5/10 - moyen</option> <option>6/10</option> <option>7/10</option> <option>8/10</option> <option>9/10</option> <option>10/10 - excellent</option> </select></td> </tr> <tr> <td width=
    Message :
    ÖÂÁ¦ÓÚ<a href=http://www.googlerank10.com>googleÅÅÃû</a>»úÐµÖÆÔì,googleÅÅÃû¼¸Ê®Äê»ù´¡,ÔÚgoogleÅÅÃûÐÅÏ¢,googleÅÅÃû¼¼Êõ·½Ãæ,ÎÒÃÇ»ýÀÛÁ˷ḻµÄgoogleÅÅÃû¾*ÑéÌì½ò<a href=http://www.googlerank10.com>googleÅÅÃû</a>¹«Ë¾×¨ÒµgoogleÅÅÃû»ú¹¹È¨ÍþÍÆ³öÌì½ògoogleÅÅÃû¹«Ë¾, Ìì½ògoogleÅÅÃû¹«Ë¾Ó¢ÓïgoogleÅÅÃû, Ìì½ògoogleÅÅÃû¹«Ë¾Â·ÅÆgoogleÅÅÃûÉè¼Æ£¬Â·ÅÆ<a href=http://www.googlerank10.com>googleÅÅÃû</a>ͼƬ£¬ÉϺ£Â·ÅÆgoogleÅÅÃû¹«Ë¾£¬Â·ÅÆgoogleÅÅÃûÉè¼Æ£¬Â·ÅÆgoogleÅÅÃûÖÆ×÷.Öйú<a href=http://www.googlerank10.com>googleÅÅÃû</a>ÍøÎª¹úÄÚgoogleÅÅÃûÍøÂçµÚÒ»Æ·ÅÆ,ÖйúgoogleÅÅÃûÍøÊǹúÄÚ×îÍêÉÆµÄgoogleÅÅÃûÀà²úÆ·googleÅÅÃûµç×ÓÉÌÎñ½»Òׯ½Ì¨
    Voici un extrait du code de la page contact.php avec les corrections que j'ai apporté mais qui ne semblent pas résoudre le problème :
    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
    <?php
    // Envoi de mail
    if($_POST["action"] == "send")
    {
    //--- les variables ---//  
     
    $message = htmlentities(trim(nl2br($_POST["message"])));
    $email = htmlentities(trim($_POST["email"]));
    $pseudo = htmlentities(trim($_POST["pseudo"]));
    $pays = htmlentities($_POST["pays"]);
    $note = htmlentities($_POST["note"]);
    $email = htmlentities(trim($_POST["sujet"]));
     
    $to = 'jamesbond-fr@[...]';
     
    //--- la structure du mail ----//  
     
    $from  = "From:".$email."\n"; 
    $from .= "MIME-version: 1.0\n";
    $from .= "Content-type: text/html; charset= iso-8859-1\n"; 
     
    $email='<table cellpadding="0" cellspacing="5" style="border-collapse: collapse"width="505">
          <tr>
            <td width="217"><b>Sujet :</b></td>
            <td width="273">'.$sujet.'</td>
          </tr>
          <tr>
            <td width="217"><b>Son nom / pseudo :</b></td>
            <td width="273">'.$pseudo.'</td>
          </tr>
          <tr>
            <td width="217"><b>Son adresse e-mail :</b></td>
            <td width="273">'.$email.'</td>
          </tr>
          <tr>
            <td width="217">Son pays :</td>
            <td width="273">'.$pays.'</td>
          </tr>
          <tr>
            <td width="217">La note qu\'il a donné à <i>JamesBond-fr.com</i> :</td>
            <td width="273">'.$note.'</td>
          </tr>
          <tr>
            <td width="495" colspan="2"><b>Message :<br>
            </b>'.$message.'</td>
          </tr>
        </table>';  
     
    // On enleve les anti slashs
    $email = stripslashes($email);
     
    //--- on envoie l'email ---//  
    mail($to,$sujet,$email,$from);
     
    echo("<div class=\"indexinfo\">Message envoyé !</div>");
    }
    ?>
    Merci par avance pour votre aide !

  2. #2
    Membre expérimenté Avatar de juliens9
    Profil pro
    Développeur Web
    Inscrit en
    Mars 2007
    Messages
    192
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mars 2007
    Messages : 192
    Par défaut Re
    Je ne vois aucune erreur en particulier dans ton compte.

    La plupart des failles ne sont pas du au code mais à la configuration du serveur.

    Est-tu sur un serveur dédié ou mutualisé ?

    Julien

Discussions similaires

  1. sécurité dans mon formulaire
    Par ph_anrys dans le forum Langage
    Réponses: 3
    Dernier message: 05/03/2008, 12h58
  2. Inserer un bouton "Browse" dans mon formulaire
    Par ecohen dans le forum Access
    Réponses: 6
    Dernier message: 21/09/2006, 18h27
  3. [MVC] Binding d'une proprieté 'societe' dans mon formulaire Utilisateur
    Par rlpg123 dans le forum Spring Web
    Réponses: 1
    Dernier message: 26/07/2006, 09h06
  4. [MySQL] Erreur dans mon formulaire
    Par rane dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 19/07/2006, 14h06

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