twoballs
Goto Top

IP-Adresse auf Hompage herausfinden

Wie kann man einen User erreichen, der gerade auf der eigenen Homepage oder im eigenen Forum unterwegs ist.

Hallo,

ich betreibe eine Homepage und ein Forum. Dieses Forum wird recht regelmäßig besucht. Ich suche nach einer Möglichkeit dem Besucher in Echtzeit eine Nachricht zu kommen zu lassen.

Meine Idee war: Die IP-Adresse des Besuchers ermitteln, dann an diese IP eine Nachricht zu schicken. Die Nachricht soll eine Textnachricht sein.

Ist dies umsetzbar? Ist dies rechtlich überhaupt zulässig?

Wenn ja, wie ist das möglich.

Betriebssystem ist XP; Hompage über einen namenhaften Provider und Forum ebenfalls.

Vielen Dank

Gruß Twoballs

Content-Key: 21242

Url: https://administrator.de/contentid/21242

Printed on: April 23, 2024 at 20:04 o'clock

Member: Janni
Janni Dec 08, 2005 at 17:49:50 (UTC)
Goto Top
Gegenfrage, warum reicht es nicht aus ein Pop-Up oder so zu öffnen mit "Hallo User XY, es ist 7:30 und Du bist früh auf" oder so ?

Ich würde massiv was dagegen haben, wenn jemand versucht einfach so mal eine Text-Datei auf dem Rechner abzulegen.

P.S. oder sollte die Meldung so eine der Art "Dies ist der Inhalt Deiner Festplatte sein ?" face-wink
Member: Twoballs
Twoballs Dec 08, 2005 at 18:12:37 (UTC)
Goto Top
Gegenfrage, warum reicht es nicht aus ein
Pop-Up oder so zu öffnen mit
"Hallo User XY, es ist 7:30 und Du bist
früh auf" oder so ?

Diese Pop-Up würde bei jeder Anwahl aufgehen, und das möchte ich nicht.

Ich will auch nichts auslesen was hinter der IP steckt!!!!

Lediglich bei Bedarf den User anschreiben können. Die Möglichkeit haben ihn in einen Chat einzuladen oder ähnliches.

Auf alle Fälle nix illegales! Ich hatte mir schon bei der Formulierung der Frage Gedanken gemacht, ob die Möglichkeit nicht Tür und Tor für "Angriffe" liefert. Dies soll aber nicht der Fall sein.

Aus Zeiten vor Internet kenne ich diese Möglichkeit. Da hatte der User sich aber per "Mailbox-Programm" direkt auf meinen Rechner eingewählt. Das damalige Programm hatte diese "Ruffunktion" implementiert.

Gruß Twoballs
Member: Janni
Janni Dec 08, 2005 at 18:17:51 (UTC)
Goto Top
das Aufpoppen kannst Du aber z.B. im Profil des User speichern, somit sieht der nur einmal das Popup.
Member: Twoballs
Twoballs Dec 08, 2005 at 18:35:11 (UTC)
Goto Top
Hallo Jani,

das nützt mir aber nix wenn ich nicht am Rechner sitze.

Oder.....

Kann ich das Popup auf Tastendruck starten? Mir fällt dazu keine Möglichkeit ein.
Wenn das ginge wäre die Sache gelöst.

Aber je mehr ich drüber nach denke desto weniger fällt mir eine Lösung für ein dynamisches Popup ein.

Gruß Twoballs
Member: filippg
filippg Dec 08, 2005 at 18:36:59 (UTC)
Goto Top
Hallo,

das mit dem Senden an die IP-Adresse ist nicht wirklich möglich. Die IP-Adresse eines Besuchers zu bekommen ist leicht, die kannst du z.B. in einem PHP-Skript einfach aus der entsprechenden Umgebungsvariable auslesen. Nur wenn du da was hinsendest wirst du in den meisten Fällen an einem NAT oder einer Firewall scheitern, sprich die Nachricht wird den Rechner nicht erreichen. Aber selbst wenn sie das würde, dann müsste dort ein Programm laufen, das die Nachricht entgegennimmt und anzeigt. Da ging früher mal der Windows Nachrichtendienst, nachdem der aber ständig von Spammern genutzt wurde ist der fast überall deaktiviert.
Kurz zusammengefasst: wenn die Nutzer nicht extra ein Programm installieren müssen sollen, dann ist es de fakto nicht möglich einen vom Server initiierten Nachrichtenaustausch durchzuführen. Aber man kann den Nutzer dazu bringen ständig nachzufragen (zumindest solange er deine Website noch offen hat): dazu machst du in einem Frame einen sehr kleinen Frame, der sich alle 20 sek. neu lädt (META-Refresh). Auf der Serverseite prüft ein Skript bei jeder Anfrage, ob für den Nutzer eine Mitteilung vorliegt, und zeigt diese gegebenfalls an. Oder natürlich man nimmt einfach eine eMail-Benachrichtigung.

Filipp
Member: Janni
Janni Dec 08, 2005 at 18:42:39 (UTC)
Goto Top
wenn Deine Seite dynamisch programmiert ist kannst Du doch bei Einloggen des Users (er bekommt das Popup zu sehen) zum Beispiel in eine Textdatei rein schreiben, daß der UserXY das Popup gesehen hat.
Beim nächsten einloggen wird diese Textdatei abgefragt mit einer einfachen if Schleife: wenn User schon Popup, dann weiter, sonst Popup.
Member: Twoballs
Twoballs Dec 08, 2005 at 21:38:39 (UTC)
Goto Top
kannst du z.B. in einem PHP-Skript einfach
aus der entsprechenden Umgebungsvariable
auslesen.

das hatte ich mir auch schon überlegt, obwohl es hier zu Problemen mit den verschiedenen Browsern kommen könnte.

Nur wenn du da was hinsendest
wirst du in den meisten Fällen an einem
NAT oder einer Firewall scheitern, sprich die
Nachricht wird den Rechner nicht erreichen.

Das denk ich mir, das würde nur klappen, wenn der User im Vorfeld über die "Atacke" informiert ist und meine Webside dafür freischalten würde.


Kurz zusammengefasst: wenn die Nutzer nicht
extra ein Programm installieren müssen
sollen, dann ist es de fakto nicht
möglich einen vom Server initiierten
Nachrichtenaustausch durchzuführen.

dann wäre es die "einfachste" Möglichkeit", klappt aber nur bei vorher ausgesuchten Usern, die dies im Vorfeld installieren / freigeben.

Aber man kann den Nutzer dazu bringen
ständig nachzufragen (zumindest solange
er deine Website noch offen hat): dazu machst
du in einem Frame einen sehr kleinen Frame,
der sich alle 20 sek. neu lädt
(META-Refresh). Auf der Serverseite
prüft ein Skript bei jeder Anfrage, ob
für den Nutzer eine Mitteilung
vorliegt, und zeigt diese gegebenfalls an.

Das hört sich am "praktischsten" an. So könnte ich jeden Nutzer individuell erreichen. Bei Bedarf setzte ich die Mitteilung und das Popup geht auf. Aber wie kann ich das realisieren?
Meine PHP bzw. Html -Kentnisse sind nicht ausreichend um das zu realisieren.
Kannst Du (oder jemand anderes) mir da weiterhelfen?

Oder natürlich man nimmt einfach eine
eMail-Benachrichtigung.

Die käme ja wieder unter Umständen zeitverzögert an, je nach dem wie oft der User "Post holt".

Also optimal wäre wohl eine Html-Lösung (es sei denn mit PHP bekomme ich die Haupt-Browser abgedeckt). Nur wie?

Gruß Twoballs
Member: filippg
filippg Dec 08, 2005 at 23:19:31 (UTC)
Goto Top
> kannst du z.B. in einem PHP-Skript
einfach
> aus der entsprechenden
Umgebungsvariable
> auslesen.

das hatte ich mir auch schon überlegt,
obwohl es hier zu Problemen mit den
verschiedenen Browsern kommen könnte.
Nein, das ist eine PHP-Umgebungsvariable, die hängt nicht vom Browser ab. Die braucht der Server ja auch selber unbedingt, er muss ja wissen, an wen er die Antwort zurückzusenden hat. Nennt sich "REMOTE_ADDR".
Ein Realisierungsbeispiel ist mir jetzt aber gerade etwas anstrengend...

Filipp
Member: Twoballs
Twoballs Dec 08, 2005 at 23:57:49 (UTC)
Goto Top
Nein, das ist eine PHP-Umgebungsvariable,
die hängt nicht vom Browser ab. Die
braucht der Server ja auch selber unbedingt,
er muss ja wissen, an wen er die Antwort
zurückzusenden hat. Nennt sich
"REMOTE_ADDR".

jou, Denkfehler von mir!!

Ein Realisierungsbeispiel ist mir jetzt aber
gerade etwas anstrengend...

Wäre nett, wenn Du ausgeschlafen bist mal drüber nachzudenken ! face-smile

Danke im voraus!!!

Gruß Twoballs
Member: filippg
filippg Dec 09, 2005 at 14:22:59 (UTC)
Goto Top
Verfluchtes Forum. Es ist etwas schwierig hier Code zu posten, selbst wenn man die spiten Klammern korrekt mit maskiert (&...) werden sie irgendwie wieder zurückgewandelt und "ausgeführt". Daher hier jetzt: .- ist öffenende spitze Klammer, -. schliessende - auch wenn es das nicht unbedingt einfacher verständlich macht.


Hallo,

im Endeffekt brauchst du folgende Dinge:

eine Datei, sagen wir "messageWatch.php". Die baust du irgendwo in einen ganz kleinen Frame ein, so dass man sie nicht sieht.

Sie enthält folgendes:
im Head eine meta-Tag wie:

.-meta http-equiv="refresh" content="30; URL=.-?php echo $PHP_SELF ?-."-..-!-- Dokument lädt sich alle 30 sekunden neu ---.

Im Body dann ein einfaches PHP:
.-?php
Result=//SQL-Abfrage a la "SELECT * FROM Messages WHERE USER = "$SESSION['UserID']" AND AllreadyDisplay = false;
if(Result.NumRows > 0){
  echo ".-script language="javascript"-.window.open("/..pfad../showMessages.php").-/script-."
}
?-.
Es fragt also in der DB ab, ob eine Nachricht für den Nutzer vorliegt. Dabei würde ich die Nachrichten Anhand von UserIDs verwalten, dann werden sie auch dann noch angezeigt, wenn der User mittlerweile eine andere IP-Adresse hat. Wenn eine Nachricht vorliegt wird per Javascript ein neues Fenster geöffnet, dass dann die Nachricht ausgibt.

Sämtliche Funktions- und Variablenbezeichnungen hier (z.B. $PHP_SELF) sind mit ziemlicher Sicherheit falsch geschrieben. Ich kann mir das nie merken und muss immer nachschauen für sowas (mache aber auch schon länger kein php mehr), aber ich denke es wird klar was ich meine, wenn du etwas php & javascript - Kentnissen solltest du das hinbekommen.

Manko: es funktioniert eben nur solange, wie der Frame mit der messageWatch.php geöffnet ist. Du könntest die auch in ein kleines Fenster packen, das sich extra öffnet. Dann können die Leute im Browser beliebig surfen (müssen nicht deine Seite offenlassen), werden aber über das Fenster trotzdem bei neuen Nachrichten benachrichtigt. Web.de Freemail realisiert so z.B. eine "Mailboxüberwachung".

Das ist jetzt mal ein einfacher Ansatz, mit genügend Durchhaltevermögen sollte sich da was draus machen lassen. Klar ist die Realisierung noch etwas Aufwand, deswegen habe ich jetzt auch keine Lust ein komplettes Script abzulieferen, das würde ich höchstens für einen (sehr fairen) Stundensatz tuen. Aber wie gesagt: man kann sich durchbeissen, ich musste da auch oft hart kämpfen.

Filipp