2 Stimmen

Wie man die IP-Adresse aus einem Formular-Mailer abgreift

Ich habe die unten stehende Codezeile in meinem Kontaktformular mit der Absicht, die IP-Adresse meiner Besucher über das Formular zu erfassen. Stattdessen wird der Standardwert zurückgegeben: Wie bekomme ich die IP-Adresse des Besuchers zurück? Meine potenziellen Kunden nutzen das Formular, um mit mir in Kontakt zu treten, aber auch Spammer tun dies.

<input type=hidden name="env_report" value="REMOTE_HOST,REMOTE_ADDR">

1voto

symcbean Punkte 46489

Was genau erhoffen Sie sich davon?

Wenn Sie die IP-Adresse benötigen, sehen Sie sich die Client-Adresse in der HTTP-Anfrage an, die das Formular erzeugt. Wenn das Formular dynamisch eine E-Mail auf dem Client erstellt (d. h. die Formulardaten nicht in einer HTTP-Anfrage zurücksendet), die Sie mit einigen Werten füllen möchten, müssen Sie die Werte im Code festlegen, der das HTML generiert (Javascript kennt keine IP-Adressen), z. B. mit PHP....

<input type=hidden name="env_report" value="<?php print $_SERVER['REMOTE_ADDR']; ?>">

Nur ist es für jemanden trivial, den Inhalt der E-Mail zu ändern, es sei denn, Sie fügen auch eine Manipulationserkennung....

<input type=hidden name="anti_tamper" value="<?php 
    print md5('s3cr3t' . $_SERVER['REMOTE_ADDR']); 
?>">

...und bei Erhalt zu bestätigen.

0voto

Virendra Punkte 2530

Sie können es nicht direkt aus HTML beziehen. Der beste Weg, um es zu bekommen mit Server-Side-Sprache, wie PHP. In PHP können Sie verwenden $_SERVER['REMOTE_ADDR'] um die IP-Adresse des Clients zu erhalten. Hier ist ein Blog-Beitrag, den ich vor einer Weile geschrieben hatte Echte Client-IP-Adresse in PHP ermitteln .

Es gibt keinen zuverlässigen Weg, die IP-Adresse mit JavaScript zu ermitteln, aber Sie können sehen diese Frage über weitere Einzelheiten.

Sie möchten also die IP-Adresse überprüfen, wenn das Formular an Ihren Server übermittelt wurde, und dort feststellen, ob es sich bei dem Übermittler um einen Spammer oder einen normalen Benutzer handelt.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X