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 :

Scinder 2 codes php


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Avatar de jlb59
    Homme Profil pro
    Retraité
    Inscrit en
    Août 2004
    Messages
    1 024
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2004
    Messages : 1 024
    Par défaut Scinder 2 codes php
    Bonsoir à tous,

    J'ai fait un petit formulaire tout simple, mais sans captcha.

    Je me suis dit "Autant faire comme tout le monde" !
    Donc, je voudrais intégrer un code captcha prêt à l'emploi, trouver je ne sais où, mais comment dois-je faire pour que les contrôles du formulaire se fassent (coordonnées et captchat) ?

    Pourriez-vous m'aider ?
    voir en fin de code ligne 24 à 32
    C'est pour intégrer la vérification du bon captcha !

    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 
    $nom=$_POST['nom']; 
    $mail=$_POST['mail']; 
    $objet=$_POST['objet']; 
    $message=$_POST['message']; 
     
    /////voici la version Mine 
    $headers = "MIME-Version: 1.0\r\n"; 
    //////ici on détermine le mail en format text 
    $headers .= "Content-type: text/plain; charset=iso-8859-1\r\n"; 
    ////ici on détermine l'expediteur et l'adresse de réponse 
    $headers .= "From: $nom <$mail>\r\nReply-to : $nom <$mail>\nX-Mailer:PHP"; 
     
    $subject="$objet"; 
    $destinataire="qi98@laposte.net"; 
    $body="$message"; 
    if (mail($destinataire,$subject,$body,$headers)) { 
    echo "Votre message a été envoyé<br>"; 
    } else { 
    echo "Une erreur s'est produite"; 
    } 
     
    /*
    if($_POST['captcha']==$_SESSION['captcha']){
    mail($destinataire,$subject,$body,$headers);
    
    echo 'Votre message à été envoyé';	
    	
    }else{
    echo 'Le captcha entré est invalide. <a href="contact2/contact.php">Recommencez</a>';	
    	
    }
    */

    Merci de votre aide.

  2. #2
    Membre Expert
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    721
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2006
    Messages : 721
    Par défaut
    Bonjour,

    Vous mettez la charrue avant les bœufs.

    Si vous utilisez un service externe pour le captcha, alors l'intégration sera en fonction de leurs specs et généralement ils fournissent une doc technique pour cela.
    Donc c'est difficile de donner une recette toute faite.
    identifiez d'abord le service que vous voulez utiliser ou au moins tester, et adaptez votre formulaire en fonction de cela.

    Sinon, une possibilité est de générer le captcha soi-même, ce qui demande plus de travail mais offre davantage de flexibilité. Voici un exemple qui explique la marche à suivre.
    A noter qu'il est fait usage de session, en pratique ça implique donc des cookies.

    Par contre, votre code n'est pas safe du tout ! (header injection)

    Si vous mettez ce code en production, il sera détourné pour envoyer du spam à des tierces parties avec pour résultat que c'est l'adresse IP de votre serveur qui sera blacklistée.
    C'est une faille vieille de plusieurs années déjà, donc pas d'excuse. Le mieux serait d'utiliser une lib éprouvée comme phpmailer. A noter que cette lib a été patchée à l'époque pour remédier à cette faille...

  3. #3
    Membre Expert
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 493
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 493
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par binarygirl Voir le message
    Le mieux serait d'utiliser une lib éprouvée comme phpmailer.
    Je n'ai pas tout suivi, mais vous semblez reprocher à la fonction PHP mail un risque d'attaque (https://www.sonarsource.com/blog/why...gerous-in-php/) et de préférer une librairie comme phpmailer pour envoyer des mails. J'ai bien compris ?

  4. #4
    Membre éprouvé
    Avatar de jlb59
    Homme Profil pro
    Retraité
    Inscrit en
    Août 2004
    Messages
    1 024
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2004
    Messages : 1 024
    Par défaut
    Citation Envoyé par laurentSc Voir le message
    Je n'ai pas tout suivi, mais vous semblez reprocher à la fonction PHP mail un risque d'attaque (https://www.sonarsource.com/blog/why...gerous-in-php/) et de préférer une librairie comme phpmailer pour envoyer des mails. J'ai bien compris ?
    Merci, mais il y a beaucoup de choses à revoir pour le formulaire, il est obsolète, et comme mes connaissances en PHP n'en sont qu'à ses débuts , c'est pour ça que j'ai choisi un code tout fait !

  5. #5
    Membre chevronné Avatar de ddaweb
    Homme Profil pro
    Webmaster amateur
    Inscrit en
    Janvier 2013
    Messages
    341
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Webmaster amateur
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Janvier 2013
    Messages : 341
    Par défaut
    Regarde dans cette discution, il y des idées sur PHPMailer : https://www.developpez.net/forums/d2...rautoload-php/
    Je crois qu'à la même période, il y a eu plus discutions à ce sujet.

  6. #6
    Membre éprouvé
    Avatar de jlb59
    Homme Profil pro
    Retraité
    Inscrit en
    Août 2004
    Messages
    1 024
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2004
    Messages : 1 024
    Par défaut
    Merci, mais comme j'ai un autre gros souci avec des pages non trouvées alors qu'elles sont là, ça me fout les boules, pourtant, les noms sont déclarés dans l'index.

    Je me pencherai sérieusement sur les possibilités de formulaires de "CONTACT" uniquement, et je n'aurai pas besoin d'autres choses plus complexes.

  7. #7
    Membre éprouvé
    Avatar de jlb59
    Homme Profil pro
    Retraité
    Inscrit en
    Août 2004
    Messages
    1 024
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2004
    Messages : 1 024
    Par défaut
    Bonjour,

    Si je mets la "charrue avant les bœufs", ce n'est pas que je sois nul, mais je n'ai pas touché le PHP depuis 2017.

    Comme je sais que tout a beaucoup évolué, je n'ai pas trop le courage de tout reprendre !

    Et merci pour les lien, mais celui concernant la sécurité des mails est en anglais, et ce n'est malheureusement pas trop mon for.
    Je comprends 1/5 de ce que je lis mais pas assez pour avoir une idée complète du sujet !

    Mais merci quand même et désolé de mon incompétence.

Discussions similaires

  1. Transcrire code PHP dans une DLL
    Par LEK dans le forum C++
    Réponses: 16
    Dernier message: 26/09/2005, 14h17
  2. Mettre un code php dans une variable...
    Par kedare dans le forum Langage
    Réponses: 6
    Dernier message: 19/09/2005, 12h55
  3. [Conception] Code php dans une base de donnée
    Par krfa1 dans le forum PHP & Base de données
    Réponses: 8
    Dernier message: 13/09/2005, 10h58
  4. pb eval pour le code php dans une feuille xslt
    Par nipepsi dans le forum XSL/XSLT/XPATH
    Réponses: 8
    Dernier message: 10/09/2004, 11h23

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