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 :

Comment protéger un formulaire Ajax


Sujet :

Langage PHP

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    49
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 49
    Points : 17
    Points
    17
    Par défaut Comment protéger un formulaire Ajax
    Bonjour à toutes et à tous
    je tiens d’abord à préciser que je ne suis pas développeur, mais
    un simple particulier (en retraite) qui veut aider un p’tit jeune à lancer son activité et qui a besoin d’un site web et d’un formulaire de contact avec une protection contre le spam.

    Le formulaire je l’ai. Il est en Ajax et il marche très bien.

    Sauf que je n’arrive pas à le protéger contre le spam des robots.

    Voici le code du traitement du formulaire…
    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
     
    <?php
     
    // Define some constants
    define( "RECIPIENT_NAME", "Clément" );
    define( "RECIPIENT_EMAIL", "clement@domaine.fr" );
    define( "EMAIL_SUBJECT", "Un message en provenance du site" );
     
    // Read the form values
    $success = false;
    $senderName = isset( $_POST['senderName'] ) ? preg_replace( "/[^\.\-\' a-zA-Z0-9]/", "", $_POST['senderName'] ) : "";
    $senderEmail = isset( $_POST['senderEmail'] ) ? preg_replace( "/[^\.\-\_\@a-zA-Z0-9]/", "", $_POST['senderEmail'] ) : "";
    $message = isset( $_POST['message'] ) ? preg_replace( "/(From:|To:|BCC:|CC:|Subject:|Content-Type:)/", "", $_POST['message'] ) : "";
     
    // If all values exist, send the email
    if ( $senderName && $senderEmail && $message ) {
      $recipient = RECIPIENT_NAME . " <" . RECIPIENT_EMAIL . ">";
      $headers = "From: " . $senderName . " <" . $senderEmail . ">";
      $success = mail( $recipient, EMAIL_SUBJECT, $message, $headers );
    }
     
     
    // Return an appropriate response to the browser
    if ( isset($_GET["ajax"]) ) {
      echo $success ? "success" : "error";
    } else {
    ?>
    Pour le protéger j’ai mis dans le formulaire un champ visible des robots seulement ’spambot’

    Et je voudrais placer dans le traitement cette instruction :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    if(!empty($_POST) && empty($_POST['spambot']))
    Mais quoique je fasse pour faire fonctionner le formulaire avec cette nouvelle instruction, rien ne part.
    J’ai toujours en réponse ce message que produit ce code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <?php if ( !$success ) echo "<p>Il y a eu un problème à l’envoi de votre message. Merci de réessayer.</p>" ?>
    Comme j’ai passé 4 heures à chercher je dois me rendre à l’évidence :
    Ajax : Un
    Moi : zéro

    Si quelqu’un pouvait m’aider à remporter la seconde manche, ce serait très charitable.

    Merci d’avance,
    Serge

  2. #2
    Expert éminent sénior
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Points : 16 545
    Points
    16 545
    Billets dans le blog
    12
    Par défaut
    Bonjour,

    Pour valider une adresse mail en PHP on fait pultôt ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <?php
     
    $mail = filter_input(INPUT_POST, 'senderEmail', FITER_VALIDATE_EMAIL);
     
    if (empty($mail)) {
        // mail invalide
    }
     
    ?>
    Ensuite, il faudrait poster aussi le code de ton formulaire.

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    49
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 49
    Points : 17
    Points
    17
    Par défaut
    Bonjour et merci de m’aider

    Alors le formulaire :
    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
     
    <form id='contactForm' action='processForm.php' method='post'>
    		<h2>Pour m’envoyer un message...</h2>
    			<ul>
    			<li>
    			<label for='senderName'>Votre nom</label>
    			<input type='text' name='senderName' id='senderName' placeholder='Ainsi que votre prénom' required='required' maxlength='40' />
    			</li>
    			<li>
    			<label for='senderEmail'>Courriel</label>
    			<input type='email' name='senderEmail' id='senderEmail' placeholder='Pour que je puisse vous répondre' required='required' maxlength='50' />
    			</li>
    			<li>
    			<label for='message' style='padding-top: .5em;'>Votre message</label>
    			<textarea name='message' id='message' placeholder='Sans balise HTML ni code.' required='required' cols='80' rows='10' maxlength='10000'></textarea>
    			</li>
    // C’est ici que l’on met la ligne d’antispam
         <input type="text" name="spambot" id="spambot" />
    			</ul>
    		<div id='formButtons'>
    			<input type='submit' id='sendMessage' name='sendMessage' value='Envoyer' />
    			<input type='button' id='cancel' name='cancel' value='Annuler' />
    		</div>
    	</form>
    	<div id='sendingMessage' class='statusMessage'><p>Le message est en partance. Merci de patienter...</p></div>
    	<div id='successMessage' class='statusMessage'><p>Merci pour votre message ! Je vous réponds dès que possible.</p></div>
    	<div id='failureMessage' class='statusMessage'><p>Il y a eu un problème à l’envoi de votre message. Merci de réessayer.</p></div>
    	<div id='incompleteMessage' class='statusMessage'><p>Merci de remplir tous les champs avant d’envoyer votre message.</p></div>
    Et, pendant que j’y suis le contenu du fichier processForm.php (le tout s’appuyant sur jQuery) :
    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
     
    <?php
     
    // Define some constants
    define( "RECIPIENT_NAME", "Clément" );
    define( "RECIPIENT_EMAIL", "clement@domaine.fr" );
    define( "EMAIL_SUBJECT", "Un message en provenance du site" );
     
    // Read the form values
    $success = false;
    $senderName = isset( $_POST['senderName'] ) ? preg_replace( "/[^\.\-\' a-zA-Z0-9]/", "", $_POST['senderName'] ) : "";
    $senderEmail = isset( $_POST['senderEmail'] ) ? preg_replace( "/[^\.\-\_\@a-zA-Z0-9]/", "", $_POST['senderEmail'] ) : "";
    $message = isset( $_POST['message'] ) ? preg_replace( "/(From:|To:|BCC:|CC:|Subject:|Content-Type:)/", "", $_POST['message'] ) : "";
     
    // If all values exist, send the email
    if ( $senderName && $senderEmail && $message ) {
      $recipient = RECIPIENT_NAME . " <" . RECIPIENT_EMAIL . ">";
      $headers = "From: " . $senderName . " <" . $senderEmail . ">";
      $success = mail( $recipient, EMAIL_SUBJECT, $message, $headers );
    }
     
     
    // Return an appropriate response to the browser
    if ( isset($_GET["ajax"]) ) {
      echo $success ? "success" : "error";
    } else {
    ?>
     
    // Return an appropriate response to the browser
    if ( isset($_GET["ajax"]) ) {
      echo $success ? "success" : "error";
    } else {
    ?>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    <html>
      <head>
        <title>Merci</title>
      </head>
      <body>
      <?php if ( $success ) echo "<p>Merci pour votre message ! Je vous réponds dès que possible.</p>" ?>
     <?php if ( !$success ) echo "<p>Il y a eu un problème à l’envoi de votre message. Merci de réessayer.</p>" ?>
      <p>Cliquer sur le bouton de retour dans votre navigateur pour revenir sur la page.</p>
      </body>
    </html>
    <?php
    }
    ?>
    Là je crois de rien avoir oublié.

  4. #4
    Membre habitué
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2009
    Messages
    116
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Mars 2009
    Messages : 116
    Points : 163
    Points
    163
    Par défaut
    Quand tu parles de robot, tu parles des robots comme Google?


    Ou si tu parles des personnes qui utilise un script pour utiliser ton script, au pire tu mets un captcha dans ton formulaire pour être sur que c'est bien un humain qui tape le formulaire.
    Si on n'ose pas poser des questions bêtes, on le restera.


    Une recherche Google résoudra bien 60% de vos problèmes.

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    49
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 49
    Points : 17
    Points
    17
    Par défaut
    @ Damien
    Ce sont les robots spammeurs que je vise, pas ceux des moteurs de recherche.
    Et cette méthode est pour éviter de mettre un Captcha.

    @ tous
    j’ai eu du mal à poster le code, désolé. Maintenant ça doit être correct.

  6. #6
    Expert éminent sénior
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Points : 16 545
    Points
    16 545
    Billets dans le blog
    12
    Par défaut
    Ok,

    quand tu mets :
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    <input type="hidden" name="token" value="<?php echo $token; ?>" />
    Tu vérifies comment la validité du $token renvoyé par le formulaire ?

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    49
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 49
    Points : 17
    Points
    17
    Par défaut
    Aïe...
    je suis désolé (je suis fatigué) : j’ai édité mon post car justement cette ligne ne figurait plus dans le formulaire.
    C’est celle-ci qui la remplace :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <input type="text" name="spambot" id="spambot" />

  8. #8
    Expert éminent sénior
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Points : 16 545
    Points
    16 545
    Billets dans le blog
    12
    Par défaut
    Donc tu affiches une zone de saisie pour contrer les robots. Mais l'utilisateur doit saisir quoi dedans pour prouver son humanité ?

  9. #9
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    49
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 49
    Points : 17
    Points
    17
    Par défaut
    En fait ce champ ne s’affiche que pour les robots (il est masqué via la CSS avec un simple display:none;

    Comme le robot va s’empresser de le remplir (alors que l’humain, lui, ne pourra le remplir vu qu’il est masqué) le traitement du formulaire va dire :
    - Oh oh ! là j’ai un robot et pas un visiteur réel donc je ne vais pas traiter l’envoi.

    Et le robot va s’en aller tenter de spammer ailleurs.

    PS : je réalise que j’ai fait une erreur en postant initialement mon sujet. Comme j’étais en recherche d’une solution je n’ai pas expliqué le contexte global pour que vous compreniez les tenants et aboutissants de ce formulaire.
    1 000 excuses d’avoir été un peu brutal dans ma demande.

  10. #10
    Invité
    Invité(e)
    Par défaut
    Bonjour,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if(!empty($_POST) && empty($_POST['spambot']))
    Confusion entre "vide/inexistant" ( empty() ) et "non rempli" (=='' : chaine à 0 caractère).
    Car si le formulaire est envoyé, le champ sera forcément "non vide/existant", même s'il n'est pas "rempli".
    C'est pourquoi la condition ci-dessus est toujours fausse, et le formulaire jamais envoyé.

    il faut écrire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if(!empty($_POST) && isset($_POST['spambot']) && $_POST['spambot']=='')

  11. #11
    Expert éminent sénior
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Points : 16 545
    Points
    16 545
    Billets dans le blog
    12
    Par défaut
    @jreaux62
    empty() s'occupe de vérifier l'existence et le contenu d'une variable.

    Ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if(!empty($_POST) && isset($_POST['spambot']) && $_POST['spambot']=='')
    peut être avantageusement remplacé par :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    if ( ! empty($_POST['spambot'])) {
        // non-humain
    }

  12. #12
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    49
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 49
    Points : 17
    Points
    17
    Par défaut
    Ah ! En plus ce n’était pas bon !
    Merci à tous deux. Vous êtes formidables.


    Je vais donc corriger cette ligne.
    Pourriez-vous me dire où je dois la mettre ?

  13. #13
    Expert éminent sénior
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Points : 16 545
    Points
    16 545
    Billets dans le blog
    12
    Par défaut
    Tout au début du traitement de la soumission du formulaire.
    Si cette condition initiale n'est pas respectée c'est pas la peine de continuer le traitement et tu rediriges vers la sortie

  14. #14
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    49
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 49
    Points : 17
    Points
    17
    Par défaut
    Hum… en rajoutant la ligne à cet endroit ça ne passe pas :
    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
     
    <?php
    if ( ! empty($_POST['spambot'])) echo "<p>Robots ??</p>";
    // Define some constants
    define( "RECIPIENT_NAME", "Clément" );
    define( "RECIPIENT_EMAIL", "clement@domaine.fr" );
    define( "EMAIL_SUBJECT", "Un message en provenance du site" );
     
    // Read the form values
    $success = false;
    $senderName = isset( $_POST['senderName'] ) ? preg_replace( "/[^\.\-\' a-zA-Z0-9]/", "", $_POST['senderName'] ) : "";
    $senderEmail = isset( $_POST['senderEmail'] ) ? preg_replace( "/[^\.\-\_\@a-zA-Z0-9]/", "", $_POST['senderEmail'] ) : "";
    $message = isset( $_POST['message'] ) ? preg_replace( "/(From:|To:|BCC:|CC:|Subject:|Content-Type:)/", "", $_POST['message'] ) : "";
     
    // If all values exist, send the email
    if ( $senderName && $senderEmail && $message ) {
      $recipient = RECIPIENT_NAME . " <" . RECIPIENT_EMAIL . ">";
      $headers = "From: " . $senderName . " <" . $senderEmail . ">";
      $success = mail( $recipient, EMAIL_SUBJECT, $message, $headers );
    }
     
     
    // Return an appropriate response to the browser
    if ( isset($_GET["ajax"]) ) {
      echo $success ? "success" : "error";
    } else {
    ?>
    <html>
      <head>
        <title>Merci</title>
      </head>
      <body>
      <?php /* if ( ! empty($_POST['spambot'])) echo "<p>Robots ??</p>" */ ?>
      <?php if ( $success ) echo "<p>Merci pour votre message ! Je vous réponds dès que possible.</p>" ?>
      <?php if ( !$success ) echo "<p>Il y a eu un problème à l’envoi de votre message. Merci de réessayer.</p>" ?>
      <p>Cliquer sur le bouton de retour dans votre navigateur pour revenir sur la page.</p>
      </body>
    </html>
    <?php
    }
    ?>
    en l’enlevant le formulaire fonctionne (pour les humains, mais, aussi, pour les robots).
    Ce n’était pas le bon endroit peut-être…

  15. #15
    Invité
    Invité(e)
    Par défaut
    bool empty ( mixed $var )
    Détermine si une variable est considérée comme vide. Une variable est considérée comme vide si elle n'existe pas, ou si sa valeur équivaut à FALSE. La fonction empty() ne génère pas d'alerte si la variable n'existe pas.
    C'est moi qui interprète mal la définition ? [EDIT] OUI
    Ici, la variable n'est pas vide, puisqu'elle existe et n'est pas équivalente à false (car c'est une chaine de 0 caractères).
    Me trompe-je ? [EDIT] OUI

    [EDIT] Autant pour moi !
    Je n'avais pas lu la suite :
    Retourne FALSE si var existe et est non-vide, et dont la valeur n'est pas zéro.

    Ce qui suit est considéré comme étant vide :
    "" (une chaîne vide)
    0 (0 en tant qu'entier)
    0.0 (0 en tant que nombre à virgule flottante)
    "0" (0 en tant que chaîne de caractères)
    NULL
    FALSE
    array() (un tableau vide)
    $var; (une variable déclarée, mais sans valeur)
    Je faisais une distinction entre "" (une chaîne vide) et NULL.

  16. #16
    Invité
    Invité(e)
    Par défaut
    Bon. Du coup, Sventovit avait bon dès le début !
    C'est ça qu'il faut mettre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if(!empty($_POST) && empty($_POST['spambot']))
    si ( [le formulaire n'est pas vide] && [spambot EST vide] )

  17. #17
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    49
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 49
    Points : 17
    Points
    17
    Par défaut
    Dans les 2 cas de figure, c’est à dire que même avec votre code, Jérôme, le traitement du formulaire échoue.

    psst… c’est un vieux con qui a toujours ce réflexe (pas son ancien métier) que de corriger les fautes de français.

    Là il n’y en a pas vraiment, mais…en fait à la forme interrogative on rajoute un accent aigu :
    « me trompé-je » sinon, c’est imprononçable.
    À l’origine, on écrit aussi « Au temps pour moi » qui vient des militaires, mais tout un chacun faisant la faute « Autant… » est aujourd’hui accepté par l’Académie je crois.
    Rompez.

  18. #18
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    49
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 49
    Points : 17
    Points
    17
    Par défaut
    Citation Envoyé par jreaux62 Voir le message
    Bon. Du coup, Sventovit avait bon dès le début !
    C'est ça qu'il faut mettre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if(!empty($_POST) && empty($_POST['spambot']))
    si ( [le formulaire n'est pas vide] && [spambot EST vide] )

    Je réalise que ça ne colle pas.
    Justement, 'spambot' ne doit pas être vide étant donné que seuls les robots sont supposés le voir et le remplir.

  19. #19
    Invité
    Invité(e)
    Par défaut
    [EDIT]Auto-censure : C'était pour dire... rien du tout...
    Dernière modification par Invité ; 10/10/2012 à 15h29.

  20. #20
    Expert éminent sénior
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Points : 16 545
    Points
    16 545
    Billets dans le blog
    12
    Par défaut
    Relis mes posts 11 et 13, la réponse est dedans

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 3 123 DernièreDernière

Discussions similaires

  1. [1.x] Comment protéger ses formulaires contre les spams
    Par farhaenis dans le forum Débuter
    Réponses: 27
    Dernier message: 05/03/2011, 12h04
  2. Comment vérfier un formulaire avec Ajax
    Par romann76 dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 09/06/2009, 13h54
  3. [AJAX] Comment envoyer le formulaire en AJAX sur la page addticket.php ?
    Par emayen01 dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 10/02/2009, 17h38
  4. [AJAX] comment envoyer un formulaire via AJAX
    Par Emcy dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 20/11/2008, 16h18

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