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

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

    Informations professionnelles :
    Activité : Retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2004
    Messages : 919
    Points : 235
    Points
    235
    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.
    Cordialement.
    JLB59

    Analyse de la mémoire

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

    Informations forums :
    Inscription : Mai 2006
    Messages : 721
    Points : 1 876
    Points
    1 876
    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 actif
    Avatar de jlb59
    Homme Profil pro
    Retraité
    Inscrit en
    Août 2004
    Messages
    919
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2004
    Messages : 919
    Points : 235
    Points
    235
    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.
    Cordialement.
    JLB59

    Analyse de la mémoire

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

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

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 378
    Points : 5 731
    Points
    5 731
    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 ?
    Il vaut mieux viser la perfection et la manquer que viser l'imperfection et l'atteindre. - Bertrand Russell

    Si la discussion est résolue, merci de cliquer sur le bouton

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

    Informations professionnelles :
    Activité : Retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2004
    Messages : 919
    Points : 235
    Points
    235
    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 !
    Cordialement.
    JLB59

    Analyse de la mémoire

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

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

    Informations forums :
    Inscription : Janvier 2013
    Messages : 329
    Points : 430
    Points
    430
    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.

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

    Informations professionnelles :
    Activité : Retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2004
    Messages : 919
    Points : 235
    Points
    235
    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.
    Cordialement.
    JLB59

    Analyse de la mémoire

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

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

    Informations forums :
    Inscription : Janvier 2013
    Messages : 329
    Points : 430
    Points
    430
    Par défaut
    Si tu es sur Windows pour les tests et que cela fonctionne, mais pas sur l'hébergement -> vérifie la case des noms des pages ... Linux y est sensible et pas Windows

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

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

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 378
    Points : 5 731
    Points
    5 731
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par ddaweb Voir le message
    Si tu es sur Windows pour les tests et que cela fonctionne, mais pas sur l'hébergement -> vérifie la case des noms des pages ... Linux y est sensible et pas Windows
    plutôt la casse
    Il vaut mieux viser la perfection et la manquer que viser l'imperfection et l'atteindre. - Bertrand Russell

    Si la discussion est résolue, merci de cliquer sur le bouton

  10. #10
    Membre émérite
    Avatar de cavo789
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2004
    Messages
    1 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 756
    Points : 2 990
    Points
    2 990
    Par défaut
    Citation Envoyé par laurentSc Voir le message
    plutôt la casse
    Si ce n'est pas la bonne case, c'est une erreur 404. Si ce n'est pas la bonne casse, plutôt une erreur 500. 😄😛
    Christophe (cavo789)
    Mon blog, on y parle Docker, PHP, WSL, Markdown et plein d'autres choses : https://www.avonture.be

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