Spam-Bots aussperren - Mailfeld Namen ändern, Honeypot, Timer

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

  • Spam-Bots aussperren - Mailfeld Namen ändern, Honeypot, Timer

    Hallo liebe PHP-Gemeinde,

    ich bin Kwothe nahezu Nichtskönner was PHP betrifft. Da ich bisher keine Hilfe gefunden habe, versuche ich mir nun selbst zu helfen und hoffe hier auf Unterstützung bei diesem Vorhaben.

    Ich möchte Spam-Bots aus einem OS-Commerce Shopsystem aussperren. Diese füllen immer wieder Formulare mit randomisierten Daten.

    1. Schritt: E-Mail Feld für Bots unkenntlich machen.

    Den Namen aus der german.php habe ich bereits angepasst, es erscheint nun im HTML-Quelltext:

    <tr>
    <td class="main">Digitale-Postanschrift:</td>
    <td class="main"><input type="text" name="email_address">&nbsp;<span class="inputRequirement">*</span></td>
    </tr>​

    leider steht in der zweiten Zeile jedoch noch immer: email_address

    Diese PHP-Codezeile:

    $email_address = tep_db_prepare_input($HTTP_POST_VARS['email_address']);

    fragt die Mailadresse ab.​ Wenn ich den Text im Code ändere wird der Script sicher nicht mehr funktionieren.

    Nbekomme ich das email_address auch noch irgendwie aus dem HTML-Quelltext raus?

    Der DB Feldname lautet: customers_email_address

    Es ist also nicht der selbe.​ Bitte verzeiht meine stümperhafte Herangehensweise, ich tue mein Bestes...

    Ich habe mal alle Vorkommen von email_address in der PHP-Datei gesucht und hier dargestellt. In der blau-unterlegten Zeile scheint mir so eine Art Übersetzung von dem kürzeren Namen zum Datenbanknamen stattzufinden.

    Klicke auf die Grafik für eine vergrößerte Ansicht

Name: grafik.png
Ansichten: 153
Größe: 15,4 KB
ID: 1046973
    Konkret steht dort dort steht

    if ($error == false) {
    $sql_data_array = array('customers_email_address' => $email_address,

    Man sieht jedoch, das email_address an recht vielen Stellen vorkommt, ich habe Angst, dass ich was anderes zerschieße, wenn ich die Bezeichnung/Variable 'email_address' in Zeile 32 verändere.

    Kann mir jemand helfen, wie ich die HTML-Quelltextausgabe für die Bots verschleiere, damit sie nicht mehr erkennen, dass in das Feld die Mailadresse einzutragen ist?

    Außerdem würde ich gern einen Honeypot (Fake-Feld für Mailadresse) einfügen und einen Timer (mind. 25 Sekunden zum Ausfüllen des Formulars) welche Beide dazu führen, dass die Eingaben verworfen werden.

    Vielen Dank für Eure Hilfe.

    Herzliche Grüße

    Kwothe

  • #2
    Ich glaube kaum, dass sich hier irgendwelche Leute mit den PHP-Codes von OS-Commerce Shopsystem auskennen.
    Außerdem ist HTTP_POST_VARS veraltet. Wenn das bei dir tatsächlich noch funktionieren sollte, benutzt du eine uralte PHP Version. Entsprechend alt wird das wohl auch das Shopsystem sein.

    Kommentar


    • #3
      PHP Version ist 5.3

      Das die alt ist, ist für mich kein Problem... PHP Resource ist ja auch schon alt...

      Kommentar


      • #4
        Ein Shop, der noch PHP 5.3 benötigt, sollte nicht mehr online sein.

        Kommentar

        Lädt...
        X