Managed Server
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: Anleitung: Captcha als eingebettetes Base64-Bild

    hpzeller

    • Experte
    • Beiträge: 4.129
    • Geschlecht:
    Anleitung: Captcha als eingebettetes Base64-Bild
    am: 21. Januar 2015, 18:29:51
    Hallo Community

    Da es immer wieder Probleme mit dem laden des Captcha’s via ‘display_vvcodes.php’ gibt habe ich eine kleine Umbauanleitung geschrieben, mit der das Captcha hart codiert als eingebettetes Base64-Bild der Seite vor dessen Auslieferung übergeben wird.

    Die folgende Anleitung richtet sich an diejenigen Shopbetreiber die Probleme mit dem Captcha haben, es aber trotzdem beibehalten möchten, wer aber auf das Captcha verzichten möchte, dem empfehle ich das MODUL: Kontaktformular mit neuem Spamschutz ohne Captcha von GTB.

    In den Dateien ‘inc/xtc_render_vvcode.inc.php’, ‘includes/contact_us.php’, ‘newsletter.php’ ab und ‘password_double_opt.php’ sind folgende Änderungen vorzunehmen.

    In inc/xtc_render_vvcode.inc.php ab ca. Zeile 98
    Code: PHP  [Auswählen]
        header('Content-Type: image/jpeg');
        imagejpeg($imgh);
        imagedestroy($imgh);
     
    ersetzen mit
    Code: PHP  [Auswählen]
        // BOF - hpzeller - 2015-01-21 - change xtc_href_link -> base64 encoded image
        // header('Content-Type: image/jpeg');
        // imagejpeg($imgh);
        // imagedestroy($imgh);
        imagejpeg($imgh, DIR_WS_IMAGES . 'captcha_tmp.jpeg');
        imagedestroy($imgh);  
        $img_data = base64_encode(file_get_contents(DIR_WS_IMAGES . 'captcha_tmp.jpeg'));  
        @unlink(DIR_WS_IMAGES . 'captcha_tmp.jpeg');
        return  'data:image/jpeg;base64,' . $img_data;
        // EOF - hpzeller - 2015-01-21 - change xtc_href_link -> base64 encoded image
     

    In includes/contact_us.php ab ca. Zeile 182
    Code: PHP  [Auswählen]
        //BOF - web28 - 2009-07-28 - FIX SSL captcha image path
        $smarty->assign('VVIMG', '<img src="'.xtc_href_link(FILENAME_DISPLAY_VVCODES,'','SSL').'" alt="Captcha" />');
        //EOF - web28 - 2009-07-28 - FIX SSL captcha image path
     
    ersetzen mit
    Code: PHP  [Auswählen]
        //BOF - hpzeller - 2015-01-21 - change xtc_href_link -> base64 encoded image    
        //BOF - web28 - 2009-07-28 - FIX SSL captcha image path
        //$smarty->assign('VVIMG', '<img src="'.xtc_href_link(FILENAME_DISPLAY_VVCODES,'','SSL').'" alt="Captcha" />');
        //EOF - web28 - 2009-07-28 - FIX SSL captcha image path
        require_once (DIR_FS_INC.'xtc_render_vvcode.inc.php');
        require_once (DIR_FS_INC.'xtc_random_charcode.inc.php');    
        $smarty->assign('VVIMG', '<img src="'.vvcode_render_code($_SESSION['vvcode'] = xtc_random_charcode(6)).'" alt="Captcha" />');
        //EOF - hpzeller - 2015-01-21 - change xtc_href_link -> base64 encoded image

     

    In newsletter.php ab ca. Zeile 195
    Code: PHP  [Auswählen]
    //BOF - Dokuman - 2009-11-02 - Fix lost session on newsletter subscription
    //$smarty->assign('VVIMG', '<img src="'.DIR_WS_CATALOG.FILENAME_DISPLAY_VVCODES.'" alt="Captcha" />');
    $smarty->assign('VVIMG', '<img src="'.xtc_href_link(FILENAME_DISPLAY_VVCODES, 't='. time(), 'SSL') .'" alt="Captcha" />'); // web28 - 2010-09-21 - change NONSSL -> SSL
    //EOF - Dokuman - 2009-11-02 - Fix lost session on newsletter subscription
     
    ersetzen mit
    Code: PHP  [Auswählen]
    // BOF - hpzeller - 2015-01-21 - change xtc_href_link -> base64 encoded image
    // BOF - Dokuman - 2009-11-02 - Fix lost session on newsletter subscription
    // $smarty->assign('VVIMG', '<img src="'.DIR_WS_CATALOG.FILENAME_DISPLAY_VVCODES.'" alt="Captcha" />');
    // $smarty->assign('VVIMG', '<img src="'.vvcode_render_code($_SESSION['vvcode'] = xtc_random_charcode(6)).'" alt="Captcha" />'); // web28 - 2010-09-21 - change NONSSL -> SSL
    $smarty->assign('VVIMG', '<img src="'.vvcode_render_code($_SESSION['vvcode'] = xtc_random_charcode(6)).'" alt="Captcha" />'); // hpzeller - 2015-01-21 - change xtc_href_link -> base64 encoded image  
    // EOF - Dokuman - 2009-11-02 - Fix lost session on newsletter subscription
    // EOF - hpzeller - 2015-01-21 - change xtc_href_link -> base64 encoded image
     

    In password_double_opt.php ab ca. Zeile 137
    Code: PHP  [Auswählen]
        //BOF - Dokuman - 2009-08-13: fix not displaying Captcha on SSL(Proxy) connections
        //$smarty->assign('VVIMG', '<img src="'.xtc_href_link(FILENAME_DISPLAY_VVCODES).'" alt="Captcha" />');
        $smarty->assign('VVIMG', '<img src="'.xtc_href_link(FILENAME_DISPLAY_VVCODES, '', 'SSL').'" alt="Captcha" />');
        //EOF - Dokuman - 2009-08-13: fix not displaying Captcha on SSL(Proxy) connections
     
    ersetzen mit
    Code: PHP  [Auswählen]
        //BOF - Dokuman - 2009-08-13: fix not displaying Captcha on SSL(Proxy) connections
        //$smarty->assign('VVIMG', '<img src="'.xtc_href_link(FILENAME_DISPLAY_VVCODES).'" alt="Captcha" />');
        //$smarty->assign('VVIMG', '<img src="'.xtc_href_link(FILENAME_DISPLAY_VVCODES, '', 'SSL').'" alt="Captcha" />');
        $smarty->assign('VVIMG', '<img src="'.vvcode_render_code($_SESSION['vvcode'] = xtc_random_charcode(6)).'" alt="Captcha" />'); // hpzeller - 2015-01-21 - change xtc_href_link -> base64 encoded image
        //EOF - Dokuman - 2009-08-13: fix not displaying Captcha on SSL(Proxy) connections
     

    In password_double_opt.php ab ca. Zeile 160
    Code: PHP  [Auswählen]
        //BOF - Dokuman - 2009-08-13: fix not displaying Captcha on SSL(Proxy) connections
        //$smarty->assign('VVIMG', '<img src="'.xtc_href_link(FILENAME_DISPLAY_VVCODES).'" alt="Captcha" />');
        $smarty->assign('VVIMG', '<img src="'.xtc_href_link(FILENAME_DISPLAY_VVCODES, '', 'SSL').'" alt="Captcha" />');
        //EOF - Dokuman - 2009-08-13: fix not displaying Captcha on SSL(Proxy) connections
     
    ersetzen mit
    Code: PHP  [Auswählen]
        //BOF - Dokuman - 2009-08-13: fix not displaying Captcha on SSL(Proxy) connections
        //$smarty->assign('VVIMG', '<img src="'.xtc_href_link(FILENAME_DISPLAY_VVCODES).'" alt="Captcha" />');
        //$smarty->assign('VVIMG', '<img src="'.xtc_href_link(FILENAME_DISPLAY_VVCODES, '', 'SSL').'" alt="Captcha" />');
        $smarty->assign('VVIMG', '<img src="'.vvcode_render_code($_SESSION['vvcode'] = xtc_random_charcode(6)).'" alt="Captcha" />'); // hpzeller - 2015-01-21 - change xtc_href_link -> base64 encoded image
        //EOF - Dokuman - 2009-08-13: fix not displaying Captcha on SSL(Proxy) connections
     

    In password_double_opt.php ab ca. Zeile 191
    Code: PHP  [Auswählen]
        //BOF - Dokuman - 2009-08-13: fix not displaying Captcha on SSL(Proxy) connections
        //$smarty->assign('VVIMG', '<img src="'.xtc_href_link(FILENAME_DISPLAY_VVCODES).'" alt="Captcha" />');
        $smarty->assign('VVIMG', '<img src="'.xtc_href_link(FILENAME_DISPLAY_VVCODES, '', 'SSL').'" alt="Captcha" />');
        //EOF - Dokuman - 2009-08-13: fix not displaying Captcha on SSL(Proxy) connections
     
    ersetzen mit
    Code: PHP  [Auswählen]
        //BOF - Dokuman - 2009-08-13: fix not displaying Captcha on SSL(Proxy) connections
        //$smarty->assign('VVIMG', '<img src="'.xtc_href_link(FILENAME_DISPLAY_VVCODES).'" alt="Captcha" />');
        //$smarty->assign('VVIMG', '<img src="'.xtc_href_link(FILENAME_DISPLAY_VVCODES, '', 'SSL').'" alt="Captcha" />');
        $smarty->assign('VVIMG', '<img src="'.vvcode_render_code($_SESSION['vvcode'] = xtc_random_charcode(6)).'" alt="Captcha" />'); // hpzeller - 2015-01-21 - change xtc_href_link -> base64 encoded image
        //EOF - Dokuman - 2009-08-13: fix not displaying Captcha on SSL(Proxy) connections
     

    Ende!

    Gruss
    Hanspeter

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

    jannemann

    • modified Team
    • Beiträge: 6.275
    • Geschlecht:
    Re: Anleitung: Captcha als eingebettetes Base64-Bild
    Antwort #1 am: 22. Januar 2015, 08:16:51
    Hallo Hanspeter,

    herzlichen Dank fürs Teilen deiner Lösung :!:

     :thumbs:

    Das können sicher viele User gebrauchen.

    Schöne Grüße,
    Jan
    12 Antworten
    4540 Aufrufe
    04. September 2020, 15:52:25 von noRiddle (revilonetz)
    5 Antworten
    5003 Aufrufe
    15. Februar 2010, 23:38:27 von Tomcraft
    4 Antworten
    1981 Aufrufe
    21. April 2016, 15:13:47 von hpzeller
               
    anything