Trotz Captcha habe ich zur Zeit wieder Spambots im Shop. Manchmal werden hunderte Einträge in den Artikelbewertungen vorgenommen, manchmal nur 2-3 Stück. Die Einträge sind allesamt Müll, die Links ergeben keinen Sinn und funktionieren auch gar nicht. Sieht aber blöd aus sowas und das ständige Entfernen nervt.

Wie es für einen Link nunmal typisch ist, fängt dieser mit einem http:// oder einem www. an. Ein Kunde der eine Bewertung abgeben möchte, wird nicht auf derartige Begriffe zurückgreifen. Also habe ich eine einfache If-Abfrage eingebaut, die in dem Text nachschaut ob ein http:// oder ähnliches drin vorkommt bevor er in die Datenbank geschrieben wird. Wenn ja, wird der Spammer ohne weitere Hinweise auf die Startseite geschickt ohne dass ein Eintrag erfolgt.

Und so geht's:
Das Script ../product_reviews_write.php suchen, eine Sicherungskopie anlegen und erst dann öffnen
In der aktuellen Version steht in der Zeile 52 folgender Code:
PHP-Code:
        if(strlen($_POST['review'])>=REVIEW_TEXT_MIN_LENGTH)
        { 
Hier wird die vorgegebene Mindest-Textlänge geprüft. Diese Abfrage existiert, soweit ich weiß, in allen xtc-basierten Shopsystemen, muss dann aber nicht zwangsläufig in Zeile 52 stehen. Notfalls müsst Ihr ein bischen suchen.

Eine Zeile unter der geschweiften offenen Klammer folgenden Code einfügen:
PHP-Code:
            //Spamlinks prüfen
            
if(strpos($_POST['review'], 'www.') ||
               
strpos($_POST['review'], 'http://' ) ||
               
strpos($_POST['review'], 'https://') ){
               
xtc_redirect(xtc_href_link(FILENAME_DEFAULT));
            }
            
//Ende Spamlinks prüfen 
Script speichern, schließen, testen und sich freuen

Da übrigens die meisten Spammer und gängigen SpamBots ohnehin am Captcha vorbeikommen, mit der jetzigen Spamlink-Sperre aber auch nicht glücklicher werden dürften, kann man die Sicherheitscodeabfrage (Captcha) nun auch abschalten. So vergrault man sich wenigstens nicht den letzten Kunden der vielleicht mal eine Bewertung abgeben will. Zumal die meisten ohnehin freiwillig keine Bewertung abgeben. Bei mir sind es rund 10% aller Kunden die eine Bewertung abgeben, nachdem ich sie nach ca. 4 Wochen einmalig per eMail und direktem Produkbewertungstlink höflichst darum bitte. Besser als nix

Die Sicherheitscodeabfrage stellt man übrigens beim Gambio im Backend unter Sicherheitscenter an oder ab.

Fragen hierzu bitte in diesen Thread.