Ankündigung

Einklappen
Keine Ankündigung bisher.

Google reCAPTCHA integrieren

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Google reCAPTCHA integrieren

    Hallo,
    bei einer alten Webseite, die ich betreue, möchte ich wegen Spam ein Google reCAPTCHA in das Kontaktformular integrieren. Leider bin ich bei dem Thema ziemlich draußen.
    Hat jemand von Euch Erfahrung und könnte mir unkompleziert helfen, wie ich das reCAPTCHA passend einbinde, ja evtl. sogar das Formular daneben noch etwas sicherer mache?
    Ich habe mich an der Google-Hilfe selbst und an dieser Webseite orientiert. Leider bekomme ich nur Fehlermeldungen.
    Aus Datenschutzgründen habe ich (hoffentlich) alle personenbezogenen Daten entfehrnt. Das Formular ist jetzt in der Ursprungsversion, ohne reCAPTCHA-Code.
    Danke für Eure Hilfe im Voraus.

    PHP-Code:
    <? 
    // Angaben anpassen 
    $to_email='test@test.de'; //Die Zieladresse 
    $mail_success='./versendet.html'; // Pfad zu einer Bestätigungsseite, wenn die Mail erfolgreich versendet wurde. 

    $error=false; 

    // Hier werden alle Pflichtfelder festgelegt. Diese Felder dürfen nicht leer bleiben. 
    $pflicht[]='name'; 
    $pflicht[]='telefon'; 
    $pflicht[]='nachricht'; 

    $absendezeit = date('h-i-s, j-m-y');

    if($_POST)
    {
            // prüfen, ob eines der Pflichtfelder leer ist
            foreach($pflicht AS $key => $result)
            {
                    if(!$_POST[$result])
                    {
                            ${$pflicht[$key].'_error'}='Bitte ausfüllen';
                            $error=true;
                    }
            }

            // Prüfung der PLZ
            $pattern_plz="/^[0-9]{5}$/";
            if(!preg_match($pattern_plz,$_POST['plz']) && $_POST['plz']!='')
            {
                    $plz_error='falsches Plz Format';
                    $error=true;
            }

            // Prüfung der Telefonnummer
            $pattern_tel="/^[0-9-()\/+.]*$/";
            if(!preg_match($pattern_tel,$_POST['telefon']) && $_POST['telefon']!='')
            {
                    $telefon_error='falsches Format';
                    $error=true;
            }

             // Prüfung der Faxnummer
            $pattern_fax="/^[0-9-()\/+.]*$/";
            if(!preg_match($pattern_fax,$_POST['telefax']) && $_POST['telefax']!='')
            {
                    $telefax_error='&nbsp;&nbsp;&nbsp;&nbsp;falsches Format';
                    $error=true;
            }



            // Wenn keine Fehler vorhanden, dann kann die Mail versendet werden
            if(!$error)
            {


                     $from_name="{$_POST['vorname']} {$_POST['name']}";
                    $from_email=($_POST['email']!='') ? $_POST['email'] : $to_email;

                     $headers  = "X-Sender: $from_name<$from_email>\n";
                    $headers .= "X-Mailer: $from_name powered by SPMan\n";
                    $headers .= "Return-Path: <$from_email>\n";
                    $headers .= "Date: ". date('r'). "\n";
                    $headers .= "From: $from_email \n";
                    $headers .= "Sender: $from_email\n";
                    $headers .= "Reply-To: $from_email\n";
                    $headers .= "Organization:  SPMan\n";
                    $headers .= "X-MSMail-Priority: Normal\n";
                    $headers .= "Content-Type: text/plain\n";

                    $comment = $from_name.' aus '.$_POST['plz'].' '.$_POST['ort'].' hat folgende Anfrage gesendet:'."\n\n";
                     $comment .= "Absendezeit: ".$absendezeit. "\n\n";
                     $comment .= "Anrede: ";
                     $comment .= $_POST['anrede']."\n";
                     $comment .= "Vorname: ";
                     $comment .= $_POST['vorname']."\n";
                     $comment .= "Name: ";
                     $comment .= $_POST['name']."\n";
                     $comment .= "Straße: ";
                     $comment .= $_POST['straße']."\n";
                     $comment .= "Plz: ";
                     $comment .= $_POST['plz']." ";
                     $comment .= "Ort: ";
                     $comment .= $_POST['ort']."\n";
                     $comment .= "Telefon: ";
                     $comment .= $_POST['telefon']."\n";
                     $comment .= "Telefax: ";
                     $comment .= $_POST['telefax']."\n";
                     $comment .= "E-Mail: ";
                     $comment .= $_POST['email']."\n";
                     $comment .= "Betreff: ";
                     $comment .= $_POST['betreff']."\n\n";
                     $comment .= "Nachricht:\n";
                     $comment .= $_POST['nachricht'];

                    // Inhalte für den Besucher

                     $comment2 = "Herzlichen Dank für Ihr Interesse an SPMan.\n\nDie nachfolgende Nachricht wurde erfolgreich an uns zugestellt.\n\nIhre Nachricht:\n";
                    $comment2 .= $_POST['nachricht']."\n\n";
                     $comment2 .= "Wir werden uns schnellstmöglich mit Ihnen in Verbindung setzen.\n";
                     $comment2 .= "Ihr SPMan\n\n";
                     $comment2 .= "==========================================================\n\n";
                     $comment2 .= "SPMan\n\n";
                     $comment2 .= "Musterstr. 1\n";
                     $comment2 .= "00815 Musterhausen\n\n";
                     $comment2 .= "Telefon: 0151515\n";
                     $comment2 .= "Telefax: 545646\n";
                     $comment2 .= "E-Mail:  test@test.de\n";
                     $comment2 .= "Internet: www.test.de";

                    $check_send=mail($to_email,$_POST['betreff'],$comment,$headers);
                    if($check_send==true && $from_email!='')
                            {
                                     if($from_email!='' && $from_email!=$to_email) @mail($from_email,$_POST['betreff'],$comment2,$headers);
                                     header("LOCATION: $mail_success");
                            }
            }


    ?> 

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html lang="de">
    <head>

    <title>Kontakt | SPMan </title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"/>
    <meta name="content-language" content="de" />
    <meta name="robots" content="index, follow" />
    <meta http-equiv="imagetoolbar" content="no" />

    <link rev="made" href="mailto:webmaster@test.de" title="E-Mail an SPMan" />
    <link href="http://www.test.de/favicon.ico" type="image/x-icon" rel="shortcut icon" />

    <style type="text/css">@import url(../css/style_a.css);</style>
    <!--[if lt IE 6]>
    <style type="text/css">@import url(../css/ie5_style_a.css);</style>
    <![endif]-->

    <script src='https://www.google.com/recaptcha/api.js'></script>
    </head>
    <body text="#000000" bgcolor="#FFFFFF" link="#FF0000" alink="#FF0000" vlink="#FF0000">

    <div id="container">
            <div id="menue">
                          <img src="https://xhtmlforum.de/../grafiken/logo/logo.gif" width="150" height="158" border="0" alt="" usemap="#logo"></img><br />
                     <ul class="liste">
                         <li><a class="button" title="Service" href="./service.html">Service</a></li>
                             <li><a class="button" title="Leistungen" href="./leistungen.html">Leistungen</a></li>
                            <li><a class="button" title="Portrait" href="./portrait.html">Portrait</a></li>
                            <li><a class="button" title="Jobs" href="./jobs.html">Jobs</a></li>
                        <li><a class="kontaktlink" title="Kontakt" href="./kontakt.php">Kontakt</a></li>
                     </ul>
             </div>
            <div id="title"><img src="https://xhtmlforum.de/../grafiken/titel/titel.jpg" width="590" height="100" border="0" alt="Test" title="Willkommen" /></div>
             <div id="umenue"><img src="https://xhtmlforum.de/../grafiken/linien/liniehgr.gif" width="590" height="4" border="0" alt=""></img></div>
             <div id="content">

             <h1>Kontakt</h1>
             <h3>Für Ihre Anfragen stehen wir Ihnen jederzeit sowohl telefonisch,<br />
             als auch via
             <a class="mailkontakt2" href="mailto:test@test.de">E-Mail</a>
             zur Verfügung.</h3>

             SPMan<br />
             Musterstr. 1<br />
             00815 Musterhausen<br /><br />

              <b>Telefon:</b><span class="telefon">564646</span><br />
              <b>Telefax:</b><span class="telefax">18469</span><br />
              <b>E-Mail:</b><a class="mailkontakt" href="mailto:test@test.de">test@test.de</a><br />
              <b>Internet:</b><a class="url" href="http://www.test.de/">www.test.de</a><br /><br />

             <form id="kontaktformular" method="post" action="<? echo $PHP_SELF ?>">
                      <label for="anrede">Anrede</label>
                      <select style="width:80px" class="select" id="anrede" name="anrede" size="1">
                             <option></option>
                                <option value="Herr">Herr</option>
                                <option value="Frau">Frau</option>
                                <option value="Firma">Firma</option>
                     </select><br />
                      <label for="vorname">Vorname</label><input style="width:165px" class="text" type="text" id="vorname" name="vorname" value="<?=$_POST['vorname'?>" size="100px" /><span style="color:#DF0000; font-size:0.8em;"><?=$vorname_error ?></span><br />
                      <label for="name">Name</label><input style="width:165px" class="text" type="text" id="name" name="name" value="<?=$_POST['name'?>" /><span style="color:#006600;">*&nbsp;</span><span style="color:#DF0000; font-size:0.8em;"><?=$name_error ?></span><br />
                     <label for="straße">Straße</label><input style="width:165px" class="text" type="text" id="straße" name="straße" value="<?=$_POST['strasse'?>" /><span style="color:#DF0000; font-size:0.7em;"><?=$strasse_error ?></span><br />
                      <label for="plz">Plz / Ort</label><input style="width:40px" class="text" type="text" id="plz" name="plz" maxlength="5" value="<?=$_POST['plz'?>" /><input style="width:115px" class="text" type="text" id="ort" name="ort" value="<?=$_POST['ort'?>" /><span style="color:#DF0000; font-size:0.75em;"><?=$plz_error ?></span><br />
                      <label for="telefon">Telefon</label><input style="width:165px" class="text" type="text" id="telefon" name="telefon" value="<?=$_POST['telefon'?>" /><span style="color:#006600;">*&nbsp;</span><span style="color:#DF0000; font-size:0.8em;"><?=$telefon_error ?></span><br />
                      <label for="telefax">Telefax</label><input style="width:165px" class="text" type="text" id="telefax" name="telefax" value="<?=$_POST['telefax'?>" /><span style="color:#DF0000; font-size:0.8em;"><?=$telefax_error ?></span><br />
                      <label for="email">E-Mail</label> <input class="text" style="width:165px" type="text" id="email" name="email" value="<?=$_POST['email'?>" /><span style="color:#DF0000; font-size:0.8em;"><?=$email_error ?></span><br />
                      <label for="betreff">Betreff</label> <input class="text" style="width:165px" type="text" id="betreff" name="betreff" value="<?=$_POST['betreff'?>" /><span style="color:#DF0000; font-size:0.8em;"><?=$betreff_error ?></span><br />
                      <label for="nachricht">Ihre Nachricht</label><textarea style="width:250px" class="text" id="nachricht" name="nachricht" cols="" rows="5"><?=$_POST['nachricht'?><?=$nachricht_error ?></textarea><span style="color:#006600;">*&nbsp;</span><br /><br />
                      <input type="submit" id="submit" /><br />
                      <div class="g-recaptcha" data-sitekey="6LeGn4sUAAAAAFn3M80qL98SSBLoi7qH_9XnbpCz"></div>
            </form>
             <p class="stern">Die mit Sternchen<span style="color:#006600;">*</span> gekennzeichneten Felder müssen ausgefüllt werden.</p><br />

             </div>
             <div id="footer"><img src="https://xhtmlforum.de/../grafiken/linien/liniegr.gif" class="linie" width="440" height="4" border="0" alt=""></img><a class="impressum" href="./impressum.html">IMPRESSUM</a>
                                 <img src="https://xhtmlforum.de/../grafiken/impr/test.jpg" class="test" width="150" height="48" border="0" usemap="#test" alt="Test"></img>
                              <a class="sitemap" href="./sitemap.html">Sitemap</a>
                              <a class="stand" href="./stand.html">Stand: 22.01.2019</a>
             </div>
    </div>
    <map id="logo" name="logo">
    <area shape="poly" coords="1,149,25,159,71,159,71,153,95,153,95,148,135,148,135,132,152,132,152,112,83,112,87,97,81,99,84,79,81,80,83,65,77,68,72,38,64,48,61,62,58,72,56,82,53,95,52,109,51,126,57,137,59,141,36,140,45,125,45,118,44,115,47,100,45,98,49,78,44,80,46,64,41,67,44,46,41,44,41,24,36,26,32,1,23,1,20,18,14,28,14,34,10,47,6,65,3,87,1,108,2,129,13,140,0,141" href="http://www.test-SPMan.de/" alt="" />
    </map>
    <map id="test" name="test">
    <area shape="poly" target="_blank" coords="0,48,150,48,150,0,102,0,102,21,16,21,16,37,0,37" href="http://www.test.de/" title="Test" alt="Test" />
    </map>

    </body>
    </html>

  • #2
    Lies mal hier, ist das selbe Thema, sonst geht die Diskussion wieder von vorne los.

    Auch interessant ist diese Lösung
    http://jspit.de/?page=antibot

    Kommentar


    • #3
      Vielen Dank für de Antwort, protestix.
      Wenn ich es richtig sehe, geht es in dem von Dir verlinkten Thread quasi um eine Grundsatzdiksussion. Die wollte ich keinesfalls anstoßen.
      Wie erwähnt bin ich (ziemlich) raus aus dem Thema.
      Von daher habe ich auf passende Hilfe gehofft, wie ich das reCaptcha oder ähnlich in das Script einbinde, so dass es wieder nutzbar ist.
      Der Hoster hat einfach die php-Mail Funktion deaktiviert, so dass das Formular schlichtweg nicht mehr nutzbar ist.

      Kommentar


      • #4
        mail() sollte für den Mail-Versand ja auch nicht verwendet werden. Für sowas nimmt man einen fertigen Mailer, der direkt über einen SMTP-Server Mails versendet. Zum Beispiel PHPMailer.

        Dein Code hat übrigens gravierende Sicherheitslücken und kann sehr leicht als Spam-Schleuder missbraucht werden.

        Kommentar


        • #5
          Es ging mir auch darum kein Captcha zu verwenden.

          Du kannst dir ja mal stattdessen diese Klasse ansehen und stattdessen zu verwenden, die ist bei vielen im Einsatz und leistet gute Dienste:
          http://jspit.de/?page=antibot

          PHPMailer findest hier und wie man die einbindet bei https://www.php-rocks.de/thema/154;8...en.html#pid817.

          Kommentar


          • #6
            Danke für die Hinwqeise und Tipps. Der Code ist ja auch schon rund 14 Jahre alt.
            Nur wie gesagt habe ich mich bereits damals durch PHP gequält und mich setdem nicht wirklich mehr damit beschäftigt.
            Ich hatte wohl irrigerweise gehofft, dass ich an richtiger Stelle nur ein, zwei Zweilen anpassen muss und die Sache hat sich damit erledigt.

            Edit:
            Ich habe mal beide Links überflogen und hoffe, dass ich Morgen zum ausprobieren komme.
            Kann ich denn die Fomularabfrage des bisherigen Scripts so weiterhin verwenden oder muss ich das auch ändern?

            Kommentar


            • #7
              Wenn ich mir das hier ansehe
              HTML-Code:
              <!--[if lt IE 6]>
              <style type="text/css">@import url(../css/ie5_style_a.css);</style>
              <![endif]-->
              Dann solltest alles auf den neuesten Stand bringen, heisst HTML5 CSS3. Der IE Version kleiner als 6 ist schon seit Jahren weg vom Fenster.

              Kommentar


              • #8
                Die Seite wird wohl, so wie es aussieht, Ende des Jahres einstellt. Es handelt sich um den Betrieb der Eltern meiner Ex, die Ende des Jahres in Rente gehen.
                Der Aufwand alles auf den neuesten Stand zu bringen lohnt sich daher nicht mehr. Darum wollte ich auch das Formular-Skript, möglichst ohne großen Aufwand, zum laufen bekommen.

                Kommentar


                • #9
                  Noch einmal zurück zur Integration des PHP-Mailers. Davn abgesehen, dass der Code veraltet ist, kann man es dennoch ohn Problem integrieren, also die Formularabfrage weiterverwenden? Wenn nicht, was muss geändert werden?
                  Ich hoffe, es geht recht einfach...

                  Kommentar


                  • #10
                    https://www.php-rocks.de/thema/51-ht...phpmailer.html

                    Und als Beispiel bitte example.com verwenden, die ist extra dafür da, die andere (test.) gehört nämlich bestimmt nicht dir. Danke!
                    The string "()()" is not palindrom but the String "())(" is.

                    Debugging: Finde DEINE Fehler selbst! | Gegen Probleme beim E-Mail-Versand | Sicheres Passwort-Hashing | Includes niemals ohne __DIR__
                    PHP.de Wissenssammlung | Kein Support per PN

                    Kommentar


                    • #11
                      Danke, ich werde daruf achten, dass nächste mal als Dummy example.com einzutragen.
                      Den Link habe ich ja schon netterweise bekommen. Darauf geht aber nicht hervor, ob ich meine alte Formularabfrage wweiterhin verwenden kann. Oder habe ich es übersehen. Dann entschuldig ich mich im Voraus. Der Wald vor lauter Bäumen und so...

                      Kommentar


                      • #12
                        Darauf geht aber nicht hervor, ob ich meine alte Formularabfrage wweiterhin verwenden kann
                        Nein, ich bezog mich oben auf das hier:
                        Der Hoster hat einfach die php-Mail Funktion deaktiviert, so dass das Formular schlichtweg nicht mehr nutzbar ist.
                        The string "()()" is not palindrom but the String "())(" is.

                        Debugging: Finde DEINE Fehler selbst! | Gegen Probleme beim E-Mail-Versand | Sicheres Passwort-Hashing | Includes niemals ohne __DIR__
                        PHP.de Wissenssammlung | Kein Support per PN

                        Kommentar


                        • #13
                          Ich habe es so verstanden, dass die Deaktivierung von der php-Mail-Funktion die Funktion des Absendens des Fomrulars betrifft. Daher den Verweis auf den PHP-Mailer über SMTP.
                          Betrifft die Deaktvierung auch die Prüfung der Fotmularfelder?

                          Kommentar


                          • #14
                            Betrifft die Deaktvierung auch die Prüfung der Fotmularfelder?
                            Schau halt nach in deinen Code.

                            Ich glaube mittlerweile du suchst her jemanden der dir das erledigt. Ich verschiebe das daher mal:

                            MOD Verschoben von PHP-Einsteiger
                            The string "()()" is not palindrom but the String "())(" is.

                            Debugging: Finde DEINE Fehler selbst! | Gegen Probleme beim E-Mail-Versand | Sicheres Passwort-Hashing | Includes niemals ohne __DIR__
                            PHP.de Wissenssammlung | Kein Support per PN

                            Kommentar


                            • #15
                              Ich habe den Teil des Forum so verstanden, dass es um "Einsteiger" geht. Bei etwaigen Antworten hätte ich den Code zusammengeschrieben und, sollte er nicht funktionieren, hier präsentiert.
                              Leider ist es für mich nicht so einfach "nach dem Code zu schauen". Dann hätte ich meine Frage nicht bei "Einsteiger" eingestellt.
                              Ich hätte es nett gefunden vor dem "Verschieben" gefragt zu werden. Dann hätte man evtl. etwaige Mißverständisse aus dem Weg räumen können.

                              Kommentar

                              Lädt...
                              X