Neuigkeiten
  • Die modified eCommerce Shopsoftware ist kostenlos, aber nicht umsonst.
    Spenden
  • Damit wir die modified eCommerce Shopsoftware auch zukünftig kostenlos anbieten können:
    Spenden
  • Thema: MODUL: reCAPTCHA für modified eCommerce Shopsoftware

    GTB

    • modified Team
    • Gravatar
    • Beiträge: 6.306
    • Geschlecht:
    ACHTUNG: Hier geht es zur Anleitung für reCAPTCHA v2! -> Klick mich!

    Da es immer wieder zu Probleme kommt, gibt es hier eine Anleitung, wie man das shopinterne Captcha durch das reCAPTCHA v1 ersetzt.

    1. /includes/contact_us.php

    suche das hier:

    Code: PHP  [Auswählen]
    require (DIR_WS_LANGUAGES.$_SESSION['language'].'/contact_us.php');

    vorher das hier einfügen:

    Code: PHP  [Auswählen]
    require_once(DIR_WS_MODULES.'recaptchalib.php');

    suche das hier:

    Code: PHP  [Auswählen]
    if ((strtoupper($_POST['vvcode']) != $_SESSION['vvcode']) || $_SESSION['vvcode']=='') $err_msg .= ERROR_VVCODE;

    mit dem hier ersetzen:

    Code: PHP  [Auswählen]
        $resp = recaptcha_check_answer (reCAPTCHA_PRIVATE,
                                        $_SERVER['REMOTE_ADDR'],
                                        $_POST['recaptcha_challenge_field'],
                                        $_POST['recaptcha_response_field']);
        if (!$resp->is_valid) { $err_msg .= ERROR_VVCODE; }

    suche das hier:

    Code: PHP  [Auswählen]
    $smarty->assign('VVIMG', '<img src="'.FILENAME_DISPLAY_VVCODES.'" alt="Captcha" />');

    mit dem hier ersetzen:

    Code: PHP  [Auswählen]
    $smarty->assign('VVIMG', recaptcha_get_html(reCAPTCHA_PUBLIC));

    2. /includes/application_top.php

    suche das hier:

    Code: PHP  [Auswählen]
    if (file_exists('includes/local/configure.php')) {
            include ('includes/local/configure.php');
    } else {
            include ('includes/configure.php');
    }

    danach das hier einfügen:

    Code: PHP  [Auswählen]
    define('reCAPTCHA_PUBLIC', 'xxxxxxxxxxxxxxxxxxxx');
    define('reCAPTCHA_PRIVATE', 'xxxxxxxxxxxxxxxxxxxx');

    die xxxxxx durch den eigenen Schlüssel ersetzen. Diese bekommt ihr hier:  http://www.google.com/recaptcha

    3. /templates/xtc5/modules/contact_us.html

    das hier:

    Code: PHP  [Auswählen]
                    <tr>
                      <td>{#text_sec_code#}*</td>
                      <td width="59%">{$INPUT_CODE}</td>
                    </tr>

    mit dem hier ersetzen:

    Code: PHP  [Auswählen]
                    {*
                    <tr>
                      <td>{#text_sec_code#}*</td>
                      <td width="59%">{$INPUT_CODE}</td>
                    </tr>
                    *}

    4. /newsletter.php

    suche das hier:

    Code: PHP  [Auswählen]
    require_once (DIR_FS_INC.'xtc_render_vvcode.inc.php');

    mit dem hier ersetzen:

    Code: PHP  [Auswählen]
    require_once(DIR_WS_MODULES.'recaptchalib.php');

    suche das hier:

    Code: PHP  [Auswählen]
    if (xtc_validate_email(trim($_POST['email'])) && ($_POST['check'] == 'inp') && (strtoupper($_POST['vvcode']) == $_SESSION['vvcode'])) {

    mit dem hier ersetzen:

    Code: PHP  [Auswählen]
      $resp = recaptcha_check_answer (reCAPTCHA_PRIVATE,
                                    $_SERVER['REMOTE_ADDR'],
                                    $_POST['recaptcha_challenge_field'],
                                    $_POST['recaptcha_response_field']);
            if (xtc_validate_email(trim($_POST['email'])) && ($_POST['check'] == 'inp') && $resp->is_valid) {

    suche das hier:

    Code: PHP  [Auswählen]
    if (strtoupper($_POST['vvcode']) != $_SESSION['vvcode']) $info_message .= ERROR_VVCODE;

    ersetze es mit dem hier:

    Code: PHP  [Auswählen]
                      if (!$resp->is_valid) $info_message .= ERROR_VVCODE;

    suche das hier:

    Code: PHP  [Auswählen]
    if (xtc_validate_email(trim($_POST['email'])) && ($_POST['check'] == 'del') && (strtoupper($_POST['vvcode']) == $_SESSION['vvcode'])) {

    ersetze es mit dem hier:

    Code: PHP  [Auswählen]
            if (xtc_validate_email(trim($_POST['email'])) && ($_POST['check'] == 'del') && $resp->is_valid) {

    suche das hier:

    Code: PHP  [Auswählen]
    $smarty->assign('VVIMG', '<img src="'.xtc_href_link(FILENAME_DISPLAY_VVCODES, 't='. time(), 'SSL') .'" alt="Captcha" />');

    mit dem hier ersetzen:

    Code: PHP  [Auswählen]
    $smarty->assign('VVIMG', recaptcha_get_html(reCAPTCHA_PUBLIC));

    5. /templates/xtc5/module/newsletter.html

    suche das hier:

    Code: PHP  [Auswählen]
      <tr>
        <td><strong>{#text_sec_code#}:</strong></td>
       <td>{$INPUT_CODE}</td>
      </tr>

    mit dem hier ersetzen:

    Code: PHP  [Auswählen]
      {*
      <tr>
        <td><strong>{#text_sec_code#}:</strong></td>
       <td>{$INPUT_CODE}</td>
      </tr>
      *}

    6. /password_douple_opt.php

    suche das hier:

    Code: PHP  [Auswählen]
    require_once (DIR_FS_INC.'xtc_render_vvcode.inc.php');

    mit dem hier ersetzen:

    Code: PHP  [Auswählen]
    require_once(DIR_WS_MODULES.'recaptchalib.php');

    suche das hier:

    Code: PHP  [Auswählen]
    if (strtoupper($_POST['vvcode']) == $_SESSION['vvcode']) {

    mit dem hier ersetzen:

    Code: PHP  [Auswählen]
      $resp = recaptcha_check_answer (reCAPTCHA_PRIVATE,
                                    $_SERVER['REMOTE_ADDR'],
                                    $_POST['recaptcha_challenge_field'],
                                    $_POST['recaptcha_response_field']);
            if ($resp->is_valid) {

    suche das hier:

    Code: PHP  [Auswählen]
    $smarty->assign('VVIMG', '<img src="'.xtc_href_link(FILENAME_DISPLAY_VVCODES, '', 'SSL').'" alt="Captcha" />');

    mit dem hier ersetzen:

    Code: PHP  [Auswählen]
    $smarty->assign('VVIMG', recaptcha_get_html(reCAPTCHA_PUBLIC));

    7. /templates/xtc5/module/password_double_opt_in.html

    suche das hier:

    Code: PHP  [Auswählen]
      <tr>
        <td><strong>{#text_sec_code#}:</strong></td>
       <td>{$INPUT_CODE}</td>
      </tr>

    ersetze es mit dem hier:

    Code: PHP  [Auswählen]
      {*
      <tr>
        <td><strong>{#text_sec_code#}:</strong></td>
       <td>{$INPUT_CODE}</td>
      </tr>
      *}

    8. die Datei im Anhang in den Ordner /includes/modules kopieren.

    FERTIG !

    Damit sind nun alle Captcha Abfragen duch das reCAPTCHA ersetzt.

    So sieht das dann zB im Kontaktformular aus:

    [ Für Gäste sind keine Dateianhänge sichtbar ]

    Viel Spass damit.

    Gruss Gerhard

    ACHTUNG: Hier geht es zur Anleitung für reCAPTCHA v2! -> Klick mich!

    [EDIT Tomcraft 04.04.2018: Anleitung für reCAPTCHA v2 verlinkt.]

    Linkback: https://www.modified-shop.org/forum/index.php?topic=19561.0

    cayuco

    • Fördermitglied
    • Beiträge: 847
    • Geschlecht:
    Re: MODUL: reCAPTCHA für modified eCommerce Shopsoftware
    Antwort #1 am: 19. April 2012, 08:47:23
    Hallo, hatte versucht das Modul einzubauen. Erhalte bei goggle allerdings stets die Fehlermeldung:
    Zitat
    We are having a problem processing your request. Please try again later.
    .

    Ganz gleich für welche domain ich das nutzen möchte. Gibt es da einen Trick, oder so?

    GTB

    • modified Team
    • Gravatar
    • Beiträge: 6.306
    • Geschlecht:
    Re: MODUL: reCAPTCHA für modified eCommerce Shopsoftware
    Antwort #2 am: 19. April 2012, 09:29:53
    Hi,

    ich glaube die haben in der Tat ein Problem im Moment.

    Ich habe gestern noch einen Key erstellt... Jetzt geht es bei mir auch nicht.

    Gruss Gerhard

    fishnet

    • Fördermitglied
    • Beiträge: 4.821
    • Geschlecht:
    Re: MODUL: reCAPTCHA für modified eCommerce Shopsoftware
    Antwort #3 am: 25. April 2012, 08:19:14
    Nur um es erwähnt zu haben, der Captcha läuft über Google.
    D.h. die IP des Nutzers wird ausgelesen (sonst könnte man ja nicht die Captcha-Ausgabe mit der Nutzereingabe vergleichen). Ob das irgendwie datenschutzrechtlich relevant ist, sagt Euch Euer Anwalt.

    /nob

    • Fördermitglied
    • Beiträge: 89
    Re: MODUL - reCaptcha für modified eCommerce Shopsoftware
    Antwort #4 am: 14. Januar 2016, 22:52:26
    Ich bekomme da eine Fehlermeldung in der contact_us.php. Angemahnt wird die Zeile

    Code: PHP  [Auswählen]
        $resp = recaptcha_check_answer (reCAPTCHA_PRIVATE,
                                        $_SERVER['REMOTE_ADDR'],

    Als Laie konnte ich auch nicht herausfinden wo er die Daten zum Server bekommt.

    Die contact_us.html sieht bei mir auch etwas anders aus, da gibt es keine Tabelle. Wie muß ich das modifizieren?

    Code: PHP  [Auswählen]
    <div class="floatbox"><label>{#text_sec_code#}*</label>{$VVIMG}</div>
    <div class="floatbox"><label>{#text_inp_code#}</label>{$INPUT_CODE}</div>

    Kann mir jemand bitte weiterhelfen? :)

    Tomcraft

    • modified Team
    • Gravatar
    • Beiträge: 46.369
    • Geschlecht:
    Re: MODUL: reCAPTCHA für modified eCommerce Shopsoftware
    Antwort #5 am: 04. April 2018, 21:36:22
    Ausgehend von der Anleitung in Beitrag 1 habe ich das ganze mal für reCAPTCHA v2 aktualisiert.

    1. /includes/contact_us.php

    suche das hier:

    Code: PHP  [Auswählen]
    if ((strtoupper($_POST['vvcode']) != $_SESSION['vvcode']) || $_SESSION['vvcode']=='') $err_msg .= ERROR_VVCODE;

    mit dem hier ersetzen:

    Code: PHP  [Auswählen]
        $verifyResponse = file_get_contents('https://www.google.com/recaptcha/api/siteverify?secret='.reCAPTCHA_PRIVATE.'&response='.$_POST['g-recaptcha-response']);
        $responseData = json_decode($verifyResponse);
     
        if ($responseData->success !== true) { $err_msg .= ERROR_VVCODE; }

    suche das hier:

    Code: PHP  [Auswählen]
    $smarty->assign('VVIMG', '<img src="'.FILENAME_DISPLAY_VVCODES.'" alt="Captcha" />');

    mit dem hier ersetzen:

    Code: PHP  [Auswählen]
    $recaptcha_get_html = '
    <script src="https://www.google.com/recaptcha/api.js" async defer></script>
    <div class="g-recaptcha" data-sitekey="'
    .reCAPTCHA_PUBLIC.'"></div>
    <noscript>
      <div>
        <div style="width: 302px; height: 422px; position: relative;">
          <div style="width: 302px; height: 422px; position: absolute;">
            <iframe src="https://www.google.com/recaptcha/api/fallback?k='
    .reCAPTCHA_PUBLIC.'" frameborder="0" scrolling="no" style="width: 302px; height:422px; border-style: none;"></iframe>
          </div>
        </div>
        <div style="width: 300px; height: 60px; border-style: none; bottom: 12px; left: 25px; margin: 0px; padding: 0px; right: 25px; background: #f9f9f9; border: 1px solid #c1c1c1; border-radius: 3px;">
          <textarea id="g-recaptcha-response" name="g-recaptcha-response" class="g-recaptcha-response" style="width: 250px; height: 40px; border: 1px solid #c1c1c1; margin: 10px 25px; padding: 0px; resize: none;" ></textarea>
        </div>
      </div>
    </noscript>
    '
    ;

    $smarty->assign('VVIMG', $recaptcha_get_html);

    2. /includes/application_top.php

    suche das hier:

    Code: PHP  [Auswählen]
    if (file_exists('includes/local/configure.php')) {
            include ('includes/local/configure.php');
    } else {
            include ('includes/configure.php');
    }

    danach das hier einfügen:

    Code: PHP  [Auswählen]
    define('reCAPTCHA_PUBLIC', 'xxxxxxxxxxxxxxxxxxxx');
    define('reCAPTCHA_PRIVATE', 'xxxxxxxxxxxxxxxxxxxx');

    die xxxxxx durch den eigenen Schlüssel ersetzen. Diese bekommt ihr hier:  http://www.google.com/recaptcha

    3. /templates/xtc5/modules/contact_us.html

    das hier:

    Code: PHP  [Auswählen]
                    <tr>
                      <td>{#text_sec_code#}*</td>
                      <td width="59%">{$INPUT_CODE}</td>
                    </tr>

    mit dem hier ersetzen:

    Code: PHP  [Auswählen]
                    {*
                    <tr>
                      <td>{#text_sec_code#}*</td>
                      <td width="59%">{$INPUT_CODE}</td>
                    </tr>
                    *}

    4. /newsletter.php

    suche das hier:

    Code: PHP  [Auswählen]
    require_once (DIR_FS_INC.'xtc_render_vvcode.inc.php');

    mit dem hier ersetzen:

    Code: PHP  [Auswählen]
    //require_once (DIR_FS_INC.'xtc_render_vvcode.inc.php');

    suche das hier:

    Code: PHP  [Auswählen]
    if (xtc_validate_email(trim($_POST['email'])) && ($_POST['check'] == 'inp') && (strtoupper($_POST['vvcode']) == $_SESSION['vvcode'])) {

    mit dem hier ersetzen:

    Code: PHP  [Auswählen]
        $verifyResponse = file_get_contents('https://www.google.com/recaptcha/api/siteverify?secret='.reCAPTCHA_PRIVATE.'&response='.$_POST['g-recaptcha-response']);
        $responseData = json_decode($verifyResponse);

        if (xtc_validate_email(trim($_POST['email'])) && ($_POST['check'] == 'inp') && $responseData->success == true) {

    suche das hier:

    Code: PHP  [Auswählen]
    if (strtoupper($_POST['vvcode']) != $_SESSION['vvcode']) $info_message .= ERROR_VVCODE;

    ersetze es mit dem hier:

    Code: PHP  [Auswählen]
                      if ($responseData->success !== true) $info_message .= ERROR_VVCODE;

    suche das hier:

    Code: PHP  [Auswählen]
    if (xtc_validate_email(trim($_POST['email'])) && ($_POST['check'] == 'del') && (strtoupper($_POST['vvcode']) == $_SESSION['vvcode'])) {

    ersetze es mit dem hier:

    Code: PHP  [Auswählen]
            if (xtc_validate_email(trim($_POST['email'])) && ($_POST['check'] == 'del') && $responseData->success == true) {

    suche das hier:

    Code: PHP  [Auswählen]
    $smarty->assign('VVIMG', '<img src="'.xtc_href_link(FILENAME_DISPLAY_VVCODES, 't='. time(), 'SSL') .'" alt="Captcha" />');

    mit dem hier ersetzen:

    Code: PHP  [Auswählen]
    $recaptcha_get_html = '
    <script src="https://www.google.com/recaptcha/api.js" async defer></script>
    <div class="g-recaptcha" data-sitekey="'
    .reCAPTCHA_PUBLIC.'"></div>
    <noscript>
      <div>
        <div style="width: 302px; height: 422px; position: relative;">
          <div style="width: 302px; height: 422px; position: absolute;">
            <iframe src="https://www.google.com/recaptcha/api/fallback?k='
    .reCAPTCHA_PUBLIC.'" frameborder="0" scrolling="no" style="width: 302px; height:422px; border-style: none;"></iframe>
          </div>
        </div>
        <div style="width: 300px; height: 60px; border-style: none; bottom: 12px; left: 25px; margin: 0px; padding: 0px; right: 25px; background: #f9f9f9; border: 1px solid #c1c1c1; border-radius: 3px;">
          <textarea id="g-recaptcha-response" name="g-recaptcha-response" class="g-recaptcha-response" style="width: 250px; height: 40px; border: 1px solid #c1c1c1; margin: 10px 25px; padding: 0px; resize: none;" ></textarea>
        </div>
      </div>
    </noscript>
    '
    ;

    $smarty->assign('VVIMG', $recaptcha_get_html);

    5. /templates/xtc5/module/newsletter.html

    suche das hier:

    Code: PHP  [Auswählen]
      <tr>
        <td><strong>{#text_sec_code#}:</strong></td>
       <td>{$INPUT_CODE}</td>
      </tr>

    mit dem hier ersetzen:

    Code: PHP  [Auswählen]
      {*
      <tr>
        <td><strong>{#text_sec_code#}:</strong></td>
       <td>{$INPUT_CODE}</td>
      </tr>
      *}

    6. /password_douple_opt.php

    suche das hier:

    Code: PHP  [Auswählen]
    require_once (DIR_FS_INC.'xtc_render_vvcode.inc.php');

    mit dem hier ersetzen:

    Code: PHP  [Auswählen]
    //require_once (DIR_FS_INC.'xtc_render_vvcode.inc.php');

    suche das hier:

    Code: PHP  [Auswählen]
    if (strtoupper($_POST['vvcode']) == $_SESSION['vvcode']) {

    mit dem hier ersetzen:

    Code: PHP  [Auswählen]
        $verifyResponse = file_get_contents('https://www.google.com/recaptcha/api/siteverify?secret='.reCAPTCHA_PRIVATE.'&response='.$_POST['g-recaptcha-response']);
        $responseData = json_decode($verifyResponse);
            if ($responseData->success == true) {

    suche das hier (3x):

    Code: PHP  [Auswählen]
    $smarty->assign('VVIMG', '<img src="'.xtc_href_link(FILENAME_DISPLAY_VVCODES, '', 'SSL').'" alt="Captcha" />');

    mit dem hier ersetzen:

    Code: PHP  [Auswählen]
    $recaptcha_get_html = '
    <script src="https://www.google.com/recaptcha/api.js" async defer></script>
    <div class="g-recaptcha" data-sitekey="'
    .reCAPTCHA_PUBLIC.'"></div>
    <noscript>
      <div>
        <div style="width: 302px; height: 422px; position: relative;">
          <div style="width: 302px; height: 422px; position: absolute;">
            <iframe src="https://www.google.com/recaptcha/api/fallback?k='
    .reCAPTCHA_PUBLIC.'" frameborder="0" scrolling="no" style="width: 302px; height:422px; border-style: none;"></iframe>
          </div>
        </div>
        <div style="width: 300px; height: 60px; border-style: none; bottom: 12px; left: 25px; margin: 0px; padding: 0px; right: 25px; background: #f9f9f9; border: 1px solid #c1c1c1; border-radius: 3px;">
          <textarea id="g-recaptcha-response" name="g-recaptcha-response" class="g-recaptcha-response" style="width: 250px; height: 40px; border: 1px solid #c1c1c1; margin: 10px 25px; padding: 0px; resize: none;" ></textarea>
        </div>
      </div>
    </noscript>
    '
    ;

    $smarty->assign('VVIMG', $recaptcha_get_html);

    7. /templates/xtc5/module/password_double_opt_in.html

    suche das hier:

    Code: PHP  [Auswählen]
      <tr>
        <td><strong>{#text_sec_code#}:</strong></td>
       <td>{$INPUT_CODE}</td>
      </tr>

    ersetze es mit dem hier:

    Code: PHP  [Auswählen]
      {*
      <tr>
        <td><strong>{#text_sec_code#}:</strong></td>
       <td>{$INPUT_CODE}</td>
      </tr>
      *}

    FERTIG !

    Damit sind nun alle Captcha Abfragen duch das reCAPTCHA v2 ersetzt.

    Grüße

    Torsten

    Nightreaver

    • Neu im Forum
    • Beiträge: 3
    Re: MODUL: reCAPTCHA für modified eCommerce Shopsoftware
    Antwort #6 am: 07. März 2024, 15:25:29
    Hallo,

    gibts hier eine aktuelle Anleitung zu?
    Leider kommt durch das aktuelle Kontakt-Modul recht viel Spam, daher würde ich das gern umstellen.
    Oder gibts eine Alternative?

    DerNachbar

    • Viel Schreiber
    • Beiträge: 538
    Re: MODUL: reCAPTCHA für modified eCommerce Shopsoftware
    Antwort #7 am: 07. März 2024, 15:38:38
    Kommentar gelöscht by meiner wenigkeit.

    Nightreaver

    • Neu im Forum
    • Beiträge: 3
    Re: MODUL: reCAPTCHA für modified eCommerce Shopsoftware
    Antwort #8 am: 29. März 2024, 13:58:08
    Bin ich echt der einzige der mehrmals täglich Spam bekommt?
    Könnte ich hier um eine neue Anleitung bitten?

    Timm

    • Fördermitglied
    • Beiträge: 6.256
    Re: MODUL: reCAPTCHA für modified eCommerce Shopsoftware
    Antwort #9 am: 29. März 2024, 14:14:47
    Moin

    Hast du denn unter erweiterte Konfiguration-Captcha das Captcha fürs Kontaktformular aktiviert?

    Gruß Timm

    Nightreaver

    • Neu im Forum
    • Beiträge: 3
    Re: MODUL: reCAPTCHA für modified eCommerce Shopsoftware
    Antwort #10 am: 03. April 2024, 09:53:48
    Das Captcha selbst ist natürlich aktiviert, aber ich persönlich würde es für aktuelle Zeiten nicht als komplex genug bezeichen das man es nicht direkt auslesen kann.

    Daher hätte ich gern etwas komplexeres.