Seite 1 von 1

Ip im Kontaktformular übermitteln

Verfasst: 10.02.2009, 04:19
von jaap
Moin,

ich habe die IP im Kontaktformular geloggt, war recht einfach, jetzt will ich aber das die Ip mit übermittelt wird, also versendet wird. Welche Änderungen muss ich da vornehmen im Script?

Code: Alles auswählen

<?PHP if &#40;$_POST&#91;'submit'&#93;=="Absenden"&#41;
&#123;
	$an = "lalalalalala@lalalalalalala.de";
	@mail&#40;$an,"Anfrage www.lalalalalalalal.de","Anfrage www.lalalalalalalalala.de\n---------------------------\n".$_POST&#91;'beschreibung'&#93;."\n---------------------------\n".$_POST&#91;'anrede'&#93;."\n".$_POST&#91;'getenv'&#93;."\n".$_POST&#91;'vorname'&#93;." ".$_POST&#91;'name'&#93;."\n".$_POST&#91;'firma'&#93;."\n".$_POST&#91;'str'&#93;."\n".$_POST&#91;'plz'&#93;." ".$_POST&#91;'ort'&#93;."\n".$_POST&#91;'land'&#93;."\n".$_POST&#91;'tel'&#93;."\n".$_POST&#91;'fax'&#93;."\n".$_POST&#91;'email'&#93;."\n----------------------","From&#58; ".$_POST&#91;'email'&#93;&#41;;
	if &#40;$anrede=="Frau"&#41; echo "<h2>Sehr geehrte Frau ".$_POST&#91;'name'&#93;.",";
	else echo "<h2>Sehr geehrter Herr ".$_POST&#91;'name'&#93;.",";
	echo "<p>vielen Dank, Ihre Anfrage wurde in meinen System aufgenommen. <br>Ich melde mich in den nächsten Tagen bei Ihnen.<br><br>lalalalalalalalalalalalalalalalala</td></tr></table>";
	include&#40;"bottom.php"&#41;;
	Exit;
&#125;
?>

	<h2>Ihre Nachricht*&#58;
	<br><textarea name=beschreibung cols=60 rows=7 class=txt></textarea>
</td></tr>

<tr><td >Anrede&#58;</td><td ><select name=anrede class=txt><option>Frau</option><option>Herr</option></select></td></tr>
<tr><td width=50>Name*</td><td ><INPUT TYPE=TEXT class=txt NAME="name" SIZE=30 MAXLENGTH=30></td></tr> 
<tr><td >Vorname</td><td ><INPUT TYPE=TEXT class=txt NAME="vorname" SIZE=30 MAXLENGTH=30></td></tr> 
<tr><td >Firma</td><td ><INPUT TYPE=TEXT class=txt NAME="firma" SIZE=30 MAXLENGTH=30></td></tr> 
<tr><td >Straße</td><td ><INPUT TYPE=TEXT class=txt NAME="str" SIZE=30 MAXLENGTH=30></td></tr> 
<tr><td >Plz, Ort</td><td ><INPUT TYPE=TEXT class=txt NAME="plz" SIZE=5 MAXLENGTH=5>&nbsp;<INPUT TYPE=TEXT class=txt NAME="ort" SIZE=20 MAXLENGTH=30></td></tr> 
<tr><td >Land</td><td ><INPUT TYPE=TEXT class=txt NAME="land" value="Deutschland" SIZE=30 MAXLENGTH=30></td></tr> 

<tr><td >Telefon</td><td ><INPUT TYPE=TEXT class=txt NAME="tel" SIZE=30 MAXLENGTH=30></td></tr>
<tr><td >Fax</td><td ><INPUT TYPE=TEXT class=txt NAME="fax" SIZE=30 MAXLENGTH=30></td></tr>
<tr><td >E-Mail*</td><td ><INPUT TYPE=TEXT class=txt NAME="email" SIZE=30 MAXLENGTH=30></td></tr>

<tr><td colspan=2>
	<INPUT TYPE=SUBMIT class=txt NAME="submit" VALUE="Absenden"> <INPUT TYPE=reset class=txt NAME="reset" VALUE="Löschen">
	<br><small>Mit * gekennzeichnete Felder sind Pflichfelder.</small>
       <br><br><small> Ihre IP wird geloggt&#58; <? $ip = $_SERVER&#91;"REMOTE_ADDR"&#93;; echo "$ip"; $fullhost = gethostbyaddr&#40;$_SERVER&#91;"REMOTE_ADDR"&#93;&#41;; echo " - Provider

Verfasst:
von

Verfasst: 10.02.2009, 08:57
von BKEAIM
Einfach die IP-Adresse als verstecktes Eingabefeld im Formular mitsenden:

Code: Alles auswählen

<input type="hidden" name="UserIP" value="<?php echo $_SERVER&#91;"REMOTE_ADDR"&#93;; ?>">

Verfasst: 10.02.2009, 09:17
von ins0
BKEAIM hat geschrieben:Einfach die IP-Adresse als verstecktes Eingabefeld im Formular mitsenden:

Code: Alles auswählen

<input type="hidden" name="UserIP" value="<?php echo $_SERVER&#91;"REMOTE_ADDR"&#93;; ?>">
warum kompleziert wenn es auch einfachh geht :)

Code: Alles auswählen

<?PHP if &#40;$_POST&#91;'submit'&#93;=="Absenden"&#41;
&#123;
   $an = "lalalalalala@lalalalalalala.de";
   @mail&#40;$an,"Anfrage www.lalalalalalalal.de","Anfrage www.lalalalalalalalala.de\n---------------------------\n".$_POST&#91;'beschreibung'&#93;."\n---------------------------\n".$_POST&#91;'anrede'&#93;."\n".$_POST&#91;'getenv'&#93;."\n".$_POST&#91;'vorname'&#93;." ".$_POST&#91;'name'&#93;."\n".$_POST&#91;'firma'&#93;."\n".$_POST&#91;'str'&#93;."\n".$_POST&#91;'plz'&#93;." ".$_POST&#91;'ort'&#93;."\n".$_POST&#91;'land'&#93;."\n".$_POST&#91;'tel'&#93;."\n".$_POST&#91;'fax'&#93;."\n".$_POST&#91;'email'&#93;."\n".$_SERVER&#91;"REMOTE_ADDR"&#93;."\n----------------------","From&#58; ".$_POST&#91;'email'&#93;&#41;;
   if &#40;$anrede=="Frau"&#41; echo "<h2>Sehr geehrte Frau ".$_POST&#91;'name'&#93;.",";
   else echo "<h2>Sehr geehrter Herr ".$_POST&#91;'name'&#93;.",";
   echo "<p>vielen Dank, Ihre Anfrage wurde in meinen System aufgenommen. <br>Ich melde mich in den nächsten Tagen bei Ihnen.<br><br>lalalalalalalalalalalalalalalalala</td></tr></table>";
   include&#40;"bottom.php"&#41;;
   Exit;
&#125;
?>

   <h2>Ihre Nachricht*&#58;
   <br><textarea name=beschreibung cols=60 rows=7 class=txt></textarea>
</td></tr>

<tr><td >Anrede&#58;</td><td ><select name=anrede class=txt><option>Frau</option><option>Herr</option></select></td></tr>
<tr><td width=50>Name*</td><td ><INPUT TYPE=TEXT class=txt NAME="name" SIZE=30 MAXLENGTH=30></td></tr>
<tr><td >Vorname</td><td ><INPUT TYPE=TEXT class=txt NAME="vorname" SIZE=30 MAXLENGTH=30></td></tr>
<tr><td >Firma</td><td ><INPUT TYPE=TEXT class=txt NAME="firma" SIZE=30 MAXLENGTH=30></td></tr>
<tr><td >Straße</td><td ><INPUT TYPE=TEXT class=txt NAME="str" SIZE=30 MAXLENGTH=30></td></tr>
<tr><td >Plz, Ort</td><td ><INPUT TYPE=TEXT class=txt NAME="plz" SIZE=5 MAXLENGTH=5>&nbsp;<INPUT TYPE=TEXT class=txt NAME="ort" SIZE=20 MAXLENGTH=30></td></tr>
<tr><td >Land</td><td ><INPUT TYPE=TEXT class=txt NAME="land" value="Deutschland" SIZE=30 MAXLENGTH=30></td></tr>

<tr><td >Telefon</td><td ><INPUT TYPE=TEXT class=txt NAME="tel" SIZE=30 MAXLENGTH=30></td></tr>
<tr><td >Fax</td><td ><INPUT TYPE=TEXT class=txt NAME="fax" SIZE=30 MAXLENGTH=30></td></tr>
<tr><td >E-Mail*</td><td ><INPUT TYPE=TEXT class=txt NAME="email" SIZE=30 MAXLENGTH=30></td></tr>

<tr><td colspan=2>
   <INPUT TYPE=SUBMIT class=txt NAME="submit" VALUE="Absenden"> <INPUT TYPE=reset class=txt NAME="reset" VALUE="Löschen">
   <br><small>Mit * gekennzeichnete Felder sind Pflichfelder.</small>
       <br><br><small> Ihre IP wird geloggt&#58; <? $ip = $_SERVER&#91;"REMOTE_ADDR"&#93;; echo "$ip"; $fullhost = gethostbyaddr&#40;$_SERVER&#91;"REMOTE_ADDR"&#93;&#41;; echo " - Provider
[/quote]

Verfasst: 10.02.2009, 09:25
von BKEAIM
Stimmt, das ist einfacher. War mir nach dem Absenden auch aufgefallen. :wink:

Ich nutze für Kontaktformular und Newsletter generische Skripte meines Hosters, da liefe das eben über die hidden-Inputs.

Verfasst: 10.02.2009, 17:19
von jaap
perfekte Antwort, Danke :D

Code: Alles auswählen

\n".$_SERVER&#91;"REMOTE_ADDR"&#93;."

Verfasst: 13.02.2009, 09:07
von CIX88
Warum ein verstecktes Eingabefeld, wenn die Auswertung vom Formular auf der selben Seite passiert?

Verfasst: 13.02.2009, 21:58
von Hasenhuf
Zumal die mit dem Formular gesendeten Daten unsicher sind.

Verfasst: 14.02.2009, 00:11
von jaap
CIX88 hat geschrieben:Warum ein verstecktes Eingabefeld, wenn die Auswertung vom Formular auf der selben Seite passiert?
hmm Danke für den Tipp, also ich habe das nicht programmiert das hat mir jemand programmiert der es freiberuflich macht. Ups ein verstecktes Eingabefeld? hmmm welchen Unfug kann man denn damit machen und welchen Sinn könnte das bezwecken? Und wo genau ist das versteckte Eingabefeld?

Verfasst: 14.02.2009, 00:21
von jaap
Hasenhuf hat geschrieben:Zumal die mit dem Formular gesendeten Daten unsicher sind.
ja oki die Überprüfung per javascript reicht nicht aus um die Daten sicher zu machen! Wie mache ich denn die Daten sicher?

Verfasst: 14.02.2009, 00:23
von Hasenhuf
jaap hat geschrieben:Ups ein verstecktes Eingabefeld? hmmm welchen Unfug kann man denn damit machen ...??
Mainipulieren.
jaap hat geschrieben:... und welchen Sinn könnte das bezwecken?
Kommt darauf an, was Du mit dem Inhalt machst.
jaap hat geschrieben:Und wo genau ist das versteckte Eingabefeld?
In BKEAIMs Beitrag.

Verfasst: 14.02.2009, 00:24
von BKEAIM
Mach' es einfach so, wie ins0 vorgeschlagen hat. Das ist die beste Lösung, wenn Du direkten Einfluss auf das das formularverarbeitende Skript hast.

Unsicher sind Eingaben aus dem Web allemal, wenn z.B. jemand Dein Formular über einen Proxy ausfüllt, erhältst Du auch nicht die wirkliche IP-Adresse des Nutzers.

Verfasst: 14.02.2009, 01:04
von jaap
BKEAIM hat geschrieben:Unsicher sind Eingaben aus dem Web allemal, wenn z.B. jemand Dein Formular über einen Proxy ausfüllt, erhältst Du auch nicht die wirkliche IP-Adresse des Nutzers.
ja ich habe direkten Zugriff und habe es auch so gemacht wie ins0 es vorgeschlagen hat.

Allerdings ist genau das eingetreten was passiert ist: Die Konkurrenz hat mir über das Kontaktformaular, per Proxy, eine wirklich sehr aggressive, emotionale sowie beleidigende Email geschrieben. Man kann davon ausgehen das weitere Attaken erfolgen, dieses ist aus der Arroganz und Überheblichkeit des Verfasser zu entnehmen.

Aus technischer Sicht hängt die echte IP hinter dem Proxy und wie lasse ich diese IP am besten im Kontaktformular "versteckt" übermitteln?

Verfasst: 14.02.2009, 12:42
von Hasenhuf
jaap hat geschrieben:Allerdings ist genau das eingetreten was passiert ist: Die Konkurrenz hat mir über das Kontaktformaular, per Proxy, eine wirklich sehr aggressive, emotionale sowie beleidigende Email geschrieben.
Nein hat sie nicht, dein script hat Dir eine Email geschreiben. Hätte dieser jemand Dir eine Email geschrieben, könntest Du die IPs bis zur ersten nachvollziehen. Ob Dir das was nützen würde, steht aber auf einem anderen Blatt.
jaap hat geschrieben:Aus technischer Sicht hängt die echte IP hinter dem Proxy und wie lasse ich diese IP am besten im Kontaktformular "versteckt" übermitteln?
Am besten gar nicht. Wenn das Formular auf dem gleichen Server liegt, wie das verarbeitende script, ist es sinnlos das über das Formular senden zu wollen (außer Du willst sehen ob eine Manipulation stattfindet). Der entscheidende Punkt ist aber, daß Du nichts senden oder verarbeiten kannst, was Dir nicht mitgeteilt wird.

Verfasst: 14.02.2009, 13:28
von Mork vom Ork
jaap hat geschrieben:Allerdings ist genau das eingetreten was passiert ist:
Das etwas, was eingetreten ist, auch passiert ist, ist nur logisch, denn andernfalls könnte es nicht eingetreten sein …
Die Konkurrenz hat mir über das Kontaktformaular, per Proxy, eine wirklich sehr aggressive, emotionale sowie beleidigende Email geschrieben.
Und was hat die schöne Emaille jetzt mit der IP zu tun?
Man kann davon ausgehen das weitere Attaken erfolgen,
„Man“ sollte sich mit der Lösch-Funktion seines Mailprogrammes vertraut machen und den Vorfall dort ablegen, wo er hingehört: In die Ablage Kinderkram. Gute Mailprogramme mit eingebautem Spamfilter erledigen das möglicherweise sogar von ganz alleine.

Nimmt der Kinderkram überhand, entsorge Eingaben, die von der einliefernden IP kommen (aus remote_addr, siehe oben), stillschweigend im Nirvana, dann kann das Kind sich austoben, ohne dich zu stören. Von der IP des tatsächlich benutzten Rechners hast du keinerlei Nutzen, falls du nicht gerade passionierter Choleriker bist, auf die Dame bei deiner Rechtsschutzversicherung stehst oder wie der Konkurrent ebenfalls die Pubertät noch nicht oder nicht schadensfrei hinter dich gebracht hast.
Im Übrigen erlaube mir die Bemerkung bezüglich meiner leisen Zweifel dahingehend, dass jemand, der nicht einmal ein Datum in einem HTML-Formular unterbringen kann, in der Lage wäre, zu erkennen, ob ein Proxy im Spiel war oder nicht.

Ich habe den Eindruck, dass der emotional agressive Konkurrent das erreicht hat, was er wollte: Du ärgerst dich und investierst Zeit und Nerven, die du für andere Dinge besser gebrauchen könntest - zum Beispiel dich eine Stunde lang unter den schönen blauen Himmel zu legen und der Sonne beim Scheinen zuzugucken.