You are not logged in.

  • Login

1

Saturday, December 16th 2006, 4:23pm

IP-Adresse im Formular mitverschicken

Hi Leute,

ich habe mal wieder eine wahrscheinlich blöde Anfängerfrage:

Ich möchte in einem PHP-Fomular die IP-Adresse des Besuchers mitverschicken lassen, wegen Missbrauch, damit ich was in der Hand habe (für alle Fälle). Es soll ein hidden-Feld sein, also nicht sichtbar. Dieses Feld soll in einer ganz normalen HTML-Tabelle eingebettet sein. Ich hatte folgendes, aber das funktioniert nicht:

PHP Quellcode

1
<input type="hidden" name="ip" value="<? echo '$_SERVER['REMOTE_ADDR']'; ?>


Gruß Inekai

2

Saturday, December 16th 2006, 4:29pm

hi,

alles was man zwischen die einfachen Anführungszeichen schreibt wird nicht interpretiert. In deinem Fall brauchst du gar keine Anfügrungszeichen.

Ansonsten, weiß ich gar nicht ob das speichern von IP Informationen legal ist.
Wenn du es schon machen willst, dann mach es doch unsichtbar für den Nutzer...

du musst einfach in deinem Speicher-Script $_POST['ip'] durch $_SERVER['REMOTE_ADDR'] ersetzen.

3

Saturday, December 16th 2006, 4:48pm

Hi d0nUt,

ich mache den User darauf aufmerksam im Formular, dass seine IP-Adresse mitübertragen wird, wegen Missbrauch der Funktion (Ist ein Abuse-Meldungs-Formular). Die IP soll aber im Formular nicht angezeigt werden, sondern einfach nur mitübertragen. Es soll nicht dazu führen, dass User einfach so aus einer Laune heraus falsche Abuse-Meldungen absetzen. Außerdem will ich noch ein einfaches Captcha einbauen. Hat da jemand vielleicht ein simples Tutorial für mich (hab schon gegoogelt, aber die Dinger sind einfach zu groß, bzw. zu lang)? Ein einfacher 3-Zeichen Captcha würde mir schon reichen.

Gruß inekai

4

Saturday, December 16th 2006, 5:37pm

wollte dir keine Vorwürfe machen. Ich wollt dich nur über drüber informieren.
Also wie gesagt: Du musst die IP Adresse nicht im Formular speichern, sondern kannst sie direkt in die Datenbank schreiben.

PHP ist ein Serverscript. Wenn der Benutzer das Formular aufruft und das Formular absendet, dann betritt der Benutzer 2x deine Seite.

Du musst die IP Adresse also nicht beim ersten Betreten auslesen, sondern kannst sie einfach beim 2ten mal (beim Speichern) sichern.

PHP Quellcode

1
mysql_query("INSERT INTO tabelle VALUES ('". $_POST['inhalt']. ", '".$_POST['titel']."', '".$_SERVER['REMOTE_ADDR']."')");


Wenn du dennoch ein Captcha Code nutzen willst, erstelle doch bitte einen neuen Beitrag dazu.. Ich selbst nutze eins auf www.browsershots.de

5

Saturday, December 16th 2006, 7:44pm

Hi d0nUt,

ja kein Problem. ich wollts ja nur sagen wegen Missverständnissen :wink: Also die Daten meines Formulars werden weitergereicht an die Datei auswerten.php und diese verschickt das Teil dann. Ich arbeite da also ohne MySQL, deshalb meine Frage bezüglich der IP-Adresse in dem Hidden-Feld.

Bezüglich Captcha mache ich einen neuen Threat auf. Übrigens habe ich Dein Login-Script - Tutorial erfolgreich nachgemacht und mit einem Captcha versehen, das aber auch leider etwas groß ist (auf der Registrierungsseite).

Demo: http://zzqshare.de

Aber das Login-Script von Dir ist super :lol:

Gruß Inekai

6

Sunday, December 17th 2006, 1:07am

das hat ja nichts mit MySQL zu tun...
Tatsache ist nur, dass du es nicht im formular übertragen musst.
Die Variable REMOTE_ADDR steht überall zur Verfügung

7

Sunday, December 17th 2006, 10:44am

Quoted from ""d0nUt""

Tatsache ist nur, dass du es nicht im formular übertragen musst.
Die Variable REMOTE_ADDR steht überall zur Verfügung

Du solltest sie sogar nicht per HiddenFeld übertragen, da man diese Info leicht fälschen kann. Die IP im HTTP-Header kann man auch fälschen, allerdings ist das aufwendiger.

8

Sunday, December 17th 2006, 4:44pm

Danke für Eure Tipps. Ich habe es jetzt so gelöst in der auswerten.php:

PHP Quellcode

1
2
3
4
5
6
$Mailnachricht .= "\nDatum/Zeit: ";
      $Mailnachricht .= date("d.m.Y H:i:s");
      $Mailbetreff = "Abuse-Meldung: ";
      $Mailbetreff .= $_REQUEST['Betreff'];
      $MailIP .= $_SERVER['REMOTE_ADDR'];
      mail($Empfaenger, $Mailbetreff, $Mailnachricht, "IP des Melders: ".$MailIP, "Von: ".$_REQUEST['Email']);


Das funktioniert einwandfrei. Da steht die IP zwar jetzt ganz am Anfang der Mail, da muss ich noch schauen, dass ich das ans Ende bekomme, aber es funktioniert. Jetzt nur noch ein Captcha einbauen und es sollte vor Spammern weitestgehend sicher sein.

Gruß Inekai

Similar threads

Social bookmarks