04
Nach dem der SPAM per Formulare stetik weiter steigt sollte man auch sein Kontaktformular von xt:commerce wenigstens mit einem Captcha schützen.
Hier dazu die Anleitung:
suchen sie in der shop_content.php folgende Zeile:
$smarty->assign('FORM_END', '</form>');
fügen Sie davor folgendes ein:
//start captcha
$smarty->assign('CAPTCHA','<img src="'.FILENAME_DISPLAY_VVCODES.'">');
$smarty->assign('INPUT_CAPTCHA',xtc_draw_input_field('vvcode_input'));
//end captcha
dann folgendes suchen:
$error = false;
if (isset ($_GET['action']) && ($_GET['action'] == 'send')) {
und danach folgendes einfügen:
//start vvcode
if (isset ($_POST['vvcode_input']) &&
isset ($_SESSION['vvcode']) &&
(strcasecmp($_POST['vvcode_input'], $_SESSION['vvcode']) == 0))
{
//end vvcode
dann folgendes suchen:
// error report hier einbauen
$smarty->assign('error_message', ERROR_MAIL);
$error = true;
}
und danach folgendes einsetzten:
//start vvcode
}
else
{
$smarty->assign('error_message', ERROR_WRONG_VVCODE);
$error = true;
}
//end vvcode
gehen Sie in die Datei lang/german/lang_german.conf und suchen Sie dort den Abschnit [CONTACT_US]
Dort am Ende folgendes einfügen:
text_captcha = 'Sicherheitscode:'
text_input_captcha = 'Bitte Sicherheitscode eingeben:'
am Ende der Sprachdatei german.php vor dem ?> folgendes Einfügen:
define('ERROR_WRONG_VVCODE','Ihre Sicherheitseingabe stimmt nicht mit dem Code auf der Grafik überein');
das Gleiche mit allen weiteren Sprachen die installiert sind.
Nun muss der Code noch ins Template, dazu die Datei contact_us.html im Ordner module Ihres Templates öffnen und an gewünschter Stelle folgendes einbauen:
{#text_captcha#}<br />{$CAPTCHA}<br />
{#text_input_captcha#}<br />{$INPUT_CAPTCHA}
Fertig.
Comments
-
Fred Said,
captcha wird zwar angezeigt, aber nicht überprüft ?!
-
info Said,
Hallo, danke für den Hinweiss, ich hatte in der shop_content.php was vergessen.
Nun geht es. -
Fred Said,
Prima nun funktioniert es

Bitte beachten das
define(‘ERROR_WRONG_VVCODE’,'Ihre Sicherheitseingabe stimmt nicht mit dem Code auf der Grafik überein’);
nicht in die *.conf, sondern in die *sprache*.php geschrieben wird.
Vielen Dank für das kleine aber sehr nützliche Gimmick, was da eigentlich schon von hause aus rein sollte
-
Stefan Said,
was habe ich bloss falsch gemacht, da nicht die Grafik im Kontaktformular angezeigt wird ?
-
xt:Commerce: Formular mit Captcha Said,
[...] XTC-Shops gibt es eine einfache Anleitung, wie man ein Captcha auch in das Kontaktformular von xt:Commerce einbaut. Besonders für Shops mit hohem Besucher- und Spamaufkommen ist dies sicherlich hilfreich, [...]
-
Jürgen Pfeifer Said,
Hallo,
ich kann eingeben was ich will, der Sicherheits-Code ist angeblich immer falsch.
Was könnte das sein?
-
Igor Said,
danke für den code, es funktioniert ohne probleme. jetzt sollten keine spams mehr durchs kontaktformular durchkommen.
ich habe mich gefragt wie man die captcha funktion in die create_account.php datei einfügen könnte, denn es könnte sein das spambots kundenkonten errichten.
-
mike Said,
Möchte mich ebenfalls bedanken. Hat jemand eine Lösung wie man das eintragen kann für die Newsletter Anmeldung von xt:Commerce.
-
rené Said,
klappt wunderbar – vielen dank!

wenn jemand dasselbe schonmal bei den kundenmeinungen/rezensionen eingebaut hat, darf er mir das gerne verraten wie er das angestellt hat.. meine reviews sind ständig mit leeren einträgen vollgespamt :-/ -
Zaspi Said,
habe alles richtig eingebaut, leider kommt bei mir gar kein captcha?? woher kommt überhaupt der code?
ist die anleitung auch für SP2.1 ?? -
Adrian Said,
Super. War einfach zu implementieren und danke für die saubere Info. Vielleicht hast du auch Lust das gleiche mal für die Regestrierung zu schreiben.
-
Steffen Said,
Hallo,
ich glaube in der Beschreibung ist ein kleiner Fehler, warum es auch bei einigen nicht klappt.
So steht es ja hier in der Anleitung:
suchen sie in der shop_content.php folgende Zeile:
$smarty->assign(‘FORM_END’, ”);
fügen Sie danach folgendes ein:Es sollten aber eher heißen:
fügen Sie DAVOR folgendes ein:MfG
PS: zumindest at es bei mir geholfen!
-
Boby Said,
Top hat auf anhieb gefuntzt.
Frage: Gibt es auch eine Anleitung für das Modul “Frage zum Produkt”
Wurde es gerne dort auch einbauen.
Besten Dank Boby -
Mark Said,
Hallo,
habe das gleiche Problem wie Jürgen Pfeifer.
ich kann eingeben was ich will, der Sicherheits-Code ist angeblich immer falsch.Was könnte das sein?
-
Minka Said,
Hallo, habe auch das Problem, wie einige vor mir hier.
Der Sicherheitscode ist immer falsch.
Was nun tun?Vielen Dank, Carmen
-
Minka Said,
So, ich bin es nochmal. Bei mir funktioniert es jetzt auch.
Der Fehler lag bei mir daran, das ich:// error report hier einbauen $smarty->assign(‘error_message’, ERROR_MAIL); $error = true;}
mit diesem ersetzt habe:
//start vvcode
} else { $smarty->assign(‘error_message’, ERROR_WRONG_VVCODE); $error = true;
}
//end vvcodeDadurch wird immer der Sicherheitscode immer falsch sein.
So ist es richtig:// error report hier einbauen
$smarty->assign(‘error_message’, ERROR_MAIL);
$error = true;
}
//start vvcode
} else { $smarty->assign(‘error_message’, ERROR_WRONG_VVCODE); $error = true;
}
//end vvcodeHoffe, es klappt jetzt auch bei Euch.
Und vielen Dank nochmal für die tolle Anleitung. -
C.Egri Said,
hallo Leute,
hab das selbe Prob wie oben, also sicherheitscode funktioniert einfach nicht. Wenn mann das feld aber leer lässt, geht´s ?!?!?!?!
Woran kann das liegen, im XTC-Forum und bei ecombase kriege ich keine Antworten, könnt Ihr mir hier wenigstens helfen, wäre euch echt sehr dankbar.cheerz
-
Robert Said,
Hallo Leute,
ich habe das Captcha bei mir eingebaut. Es funktioniert sowohl auf meinem lokalen System als auch auf einem Testsystem / auf meinem eigenen Webspace. Nur auf bei dem Provider, bei dem es in “echt” laufen soll, da wird das Bild nicht angezeigt und das Zeichen für ein fehlendes Bild erscheint. Also so, als wenn der Pfad zu dem Bild nicht stimmen würde.
Hat von euch jemand eine Ahnung, woran das liegen könnte? Der Provider (1&1) hatte mir empfohlen, auf php5 umzuswitchen (hat nichts genützt).Danke
Robert
-
phpbussi Said,
Danke – funktioniert perfekt!
-
Daniel Said,
Danke für die Anleitung..
Funktioniert bei mir so im Allgemeinen.. Allerdings kommt, wenn man auf die Kontaktseite geht und ncoh nichts eingegeben hat direkt die Fehlermeldung. Wenn man einen Fehler macht, kommt keine, die Mail wird aber nicht verschickt…
Von dem her stimmt wohl alles, nur irgendwo ist etwas verwechselt… kann mir da jemand helfen?
-
Wild Wolf Said,
Hi,
würde das script gerne in die Artikelbewertung einbinden.
Nur gibts da ja einige Einträge net wie unter Kontakt. Wo muss ich da das passende eingeben? -
Ben Said,
Danke! Hat super geklappt!
-
aramis Said,
Hallo,
kann mir jemand helfen das ding im Billiger gesehen Modul einzubauen ?
Im Kontaktformular hat der Einbau ohne Probleme funktioniert.
Über eine Anleitung für das Billiger gesehen Modul wäre toll
Gruß aramis
-
Jörg Said,
Bei mir klappt es mit dem Code einfach nicht. Nach der alten Anleitung hat es nur mit leerem Feld geklappt.
Mit den neuen Änderungen ist der Sicherheitscode angeblich immer falsch.
Ich habs auch mit einer komplett neuen Installation versucht, selbes Ergebnis. Wenn jemand helfen könnte?
-
Sven Said,
Hallo,
bei mir wird leider auch immer gesagt dass die Eingabe falsch war.
Wo kann das problem liegen?
Habe es nach Anleitung eingebaut.Beste grüße
-
StefanD Said,
Nach langem rumprobieren klappt es nun doch endlich. Ich hatte erst das Problem, dass gar kein Captcha angezeigt wurde und danach das Problem, dass der Sicherheitscode immer falsch war. Damit die Captchas überhaupt angezeigt werden, was bei mir anfangs auch nicht funktionierte, muss auf dem Server die Bibliothek GDLib aktiviert sein (ein bisschen php.ini Spielerei). Damit ein Vergleich stattfinden kann, ist es notwendig, oben genannten Code für die contact_us.html NACH dem “{$FORM_ACTION}” einzufügen und nicht wie beschrieben an einer gewünschten Stelle, sonst wird beim POST kein Wert mitgegeben.
-
Carsten Said,
Vielen Dank, hat super geklappt!!
-
Sticki Said,
Tolle Sache! Danach hab ich schon lange gesucht. Die Einbindung ist auch wirklich nicht schwer.
-
Gerhard Schmidt Said,
Hallo Ihr alle miteinander,
habe lange im web nach einem solchen Tool gesucht und jetzt in meinen Shop eingebaut.
Habe mir auch Eure interessanten und hilfreichen Kommentare durchgelesen und jetzt alles hinbekommen.
Nur eins nicht!
der Sicherheitscode wird nicht abgefragt. Es steht zwar der text zur Abfrage drin, aber es gibt heine Eingabemöglichkeit und es wird auch kein Code angezeigt.
Woran kann das denn liegen?
Fragt Gerhard -
Gerhard Schmidt Said,
Ausdauernd dran geblieben habe ich es jetzt gepackt und rausbekommen woran mein fehler lag.
Habe die Codezeilen 1 zu 1 übernommen, wie hier die beispielzeile:
//start vvcode } else { $smarty->assign(‘error_message’, ERROR_WRONG_VVCODE); $error = true; } //end vvcodeWar natürlich blöd, denn somit passiere garnix.
Dann habe ich es so eingefügt:
//start vvcode
} else { $smarty->assign(‘error_message’, ERROR_WRONG_VVCODE); $error = true; }
//end vvcodeWar auch ein Schuss in den Ofen, denn else gab es schon in der zeile davor.
Letzter Versuch dieser Codezeile:$smarty->assign(‘error_message’, ERROR_WRONG_VVCODE); $error = true; }
Jetzt hat es gefrunzt und bin glücklich!
-
Schaefer Said,
Hallo wer kann mir hier helfen.
Ich kommen nicht ganz klar mit dem Formular.
Kann mir einer mein Formular so abändern das es gehen würde.die Datei liegt hier http://www.amberdog.ch/download/shop_content.txt
gruss Bernd
-
Andreas Said,
Bei mir wird die $_SESSION['vvcode'] nicht in die DB eingetragen, mit der Folge das der Code nie mit den Benutzereingaben übereinstimmt. Die configure.php ist auf msql gestellt.
Hat jemand eine Idee? Danke -
Peter Said,
Danke, funktioniert wunderbar! Gegebenenfalls sollte man noch in der shop_content.php folgende Stelle
$smarty->assign(‘INPUT_TEXT’, xtc_draw_textarea_field(‘message_body’, ‘soft’, 50, 15, $_POST['']));
wie folgt ändern:
$smarty->assign(‘INPUT_TEXT’, xtc_draw_textarea_field(‘message_body’, ‘soft’, 50, 15, ($error ? $_POST['message_body'] : $message_body)));
damit dem Benutzer nach falscher Captcha-Eingabe nicht der Nachrichtentext verloren geht.
-
Markus Said,
Hallo zusammen, also weiß jetzt nicht genau was ich falsch gemacht habe aber bei mir kommt kein Feld wo ich ein Sicherheitscode eingeben kann. Habe nicht so viel Plan davon.
Habe den Text 1 zu 1 von oben übernommen, mußich da noch was ändern? Wäre super wenn ihr mir helfen könntet da die Spams mir Tierisch aufn Nerv gehen. -
Olaf Said,
Besten Dank für die super Anleitung! Auf Basis dieser habe ich soeben die Funktion Preisanfrage bzw. “Billiger gesehen” mit einem Captcha ergänzt. Abgesehen von den html und Sprachdateien habe ich die price_inquiry.php ähnlich wie in dieser Vorlage hier geändert. Bei den Überprüfungen der ausgefüllten Felder habe ich dann vor // send mail
folgendes noch eingefügt:if ($_SESSION['vvcode'] $_POST['vvcode_input']) {
$error = true; $messageStack->add(‘price_inquiry’, ERROR_WRONG_VVCODE);}da die oben beschriebene Fehlerbearbeitung aus der Contacts –> siehe //start vvcode } else { $smarty->assign(‘error_message’, ERROR_WRONG_VVCODE); $error = true; } //end vvcode <—
leider nicht benutzbar ist.Kenn mich leider in PHP nicht weiter aus, aber wenigstens hat das den gewünschten Erfolg gehabt.
Viele Grüße,
Olaf
