IP-Auflistung aller Online User (Log ins) der letzten 12 Stunden
am 23.01.2013 - 14:03 Uhr in
Hallo Drupalfreaks,
ich bin der Neue :-) und komme hoffentlich nicht öfter (weil dann ja irgendwas nicht so klappt, wie man es haben möchte).
Drupal habe ich seit ein paar Monaten und ich bin zufrieden mit dem, was ich damit erreicht habe.
Bei mir läuft alles topp ...nur suche ich etwas, das ich nirgends finden kann (weils vielleicht noch niemand brauchte? ....bis jetzt zumindest).
Zuvor das Technische, womit ich arbeite:
Drupal 7.12 (jaja, ich weiß, das sollte man mal updaten) läuft mittels Apachesimulation unter Windows 7 ultimate auf meinem PC,
mein Projekt ist auf Omega aufgebaut im "widescreen" Format.
Im Februar möchte ich online gehen.
Und nun zur Umschreibung dessen, was ich will:
In vielen Foren und Blogs befindet sich ganz unten auf der Seite ein Block, in den die einzelnen User chronologisch hineingeladen werden, die zum jeweiligen Moment (oder innerhalb eines Zeitraums) zeilenweise erscheinen. Da sind dann die Nicknames der Anwesenden der Reihe nach aufgeführt - entweder in der Reihenfolge, wann sie sich eingeloggt haben, oder in der Reihenfolge, wann sie zuletzt innerhalb der Site die URL gewechselt haben (das ist wohl eine administrative Einstellungssache der Software).
Bei meinem Projekt, mit dem ich in nächster Zeit online gehen will, werden allerdings keine Usernamen (Nicknames) vergeben. Diejenigen, die Zugang zu bestimmten Bereichen meines geplanten Portals haben möchten, sollen ein paar Euro überweisen, damit die Serverkosten gedeckt sind; dafür bekommen sie unter der IP, unter der sie sich registriert haben, eine zeitlich unbegrenzte Freischaltung der ansonsten nicht zugänglichen Portalbereiche. Wie gesagt, zahlt jemand einen geringen Obulus und kann, solange er unter dieser IP im Web ist, zeitlebens im gesamten Portal surfen. Klar, ist das kein großes Geschäft, wenns zeitlich unbefristet ist. Soll es auch nicht sein: es soll wie gesagt nur die laufenden Kosten decken.
Hier meine Fragen an diejenigen, die sich damit ein wenig auskennen:
Bei Drupal kann ich ja die Funktion der Gäste, die online sind, die für entsprechende Nutzergruppen am Seitenende sichtbar sein sollen, problemlos aktivieren. Da erscheinen dann die Nicknames und bei Gästen erscheint "Gast".
1. Wie aber bewerkstellige ich es, dass sich die Interessenten ohne Nickname registrieren können?
2. Wie erreiche ich, dass die IPs all derer, die sich in den vergangenen 12 Stunden irgendwo im Projekt eingeloggt haben, anhand ihrer IP unten auf der Seite in einem Block (Leser der vergangenen 12 Stunden) aufgereiht erscheinen?
In den Lösungen, die ich hier bei Drupal gefunden habe, ist -soweit ich das verstanden habe- immer nur die Möglichkeit der Aufzählung von Nicknames angeboten.
Darüberhinaus finde ich keine Einstellung einer Zeitspanne, die umfasst wird - folglich sind es immer nur diejenigen, die im Moment online sind, die sich in dieser Auflistung befinden.
Wäre toll, wenn mir jemand etwas dazu sagen könnte.
Grüße von Mogli
- Anmelden oder Registrieren um Kommentare zu schreiben
Das hier mal probiert:
am 23.01.2013 - 14:10 Uhr
Das hier mal probiert: http://drupal.org/project/ip_login
Liste aller IPs gibts über die "sessions" Tabelle.
Super Engagement
am 23.01.2013 - 14:15 Uhr
@ pebosi
Na, das ist ja Klasse hier :-)))
Ein paar Minuten und man bekommt eine Antwort!
Danke, pebosi. Ich werde direkt mal nachschauen.
Mogli
Statistik Modul
am 23.01.2013 - 15:53 Uhr
Die "sessions" Tabelle?
Du meinst unter .php?
Ich dachte da eigentlich eher an irgendein Statistik Modul, aus dem man die Daten in einen Block unten im Content einspeisen könnte, wo die Ips dann der Reihe nach zu lesen sind.
Die Aufmachung sollte so sein:
Anzahl der Zugriffe (Log Ins) auf die Website in den letzten 24 Stunden: X.XXX User
Anzahl der aufgerufenen Artikel: XXX.XXX Seiten
Anwesende (IPs) in den letzten 12 Stunden XX.XXX.XXX.XXX, XXX.XX.XXX.XXX, X.XXX.XXX.XXX, XX.XXX.XXX.XXX, ... ...
Wenn ich das richtig sehe, enthält die von Dir benannte Tabelle diese fortlaufenden Nummern der IPs.
Aber Nachfrage:
Besitzt Drupal kein statistisches Modul, das derartige Daten bereits liefert?
...sodass man quasi nur die entsprechenden Parameter einzustellen braucht?
PS: Das IP-Modul wird wohl genau das sein, was ich benötige.
Gruß Mogli
Was auch immer es ist, ich
am 23.01.2013 - 15:51 Uhr
Was auch immer es ist, ich werde den Service sicher nicht nutzen. Schließlich bekomme ich von meinem Provider heute Nacht wieder eine ganz neue IP. Sehr schlechtes Geschäft für mich und für viele andere auch, die keine feste IP haben.
IP offen anzeigen ist auch nicht gut, da wirst Du evtl. datenschutzrechtliche Probleme bekommen, gerade bei festen IPs.
Nicht gut, Dein Ansatz!
Warum dürfen die keinen Nick haben? Ansonsten probier's mal mit http://drupal.org/project/logintoboggan
@ E-Fee
am 23.01.2013 - 16:08 Uhr
Was auch immer es ist, ich werde den Service sicher nicht nutzen. Schließlich bekomme ich von meinem Provider heute Nacht wieder eine ganz neue IP. Sehr schlechtes Geschäft für mich und für viele andere auch, die keine feste IP haben.
Ja schon. Solange IPv6 nicht Verbreitung findet, werden die wechselnden IPs bei vielen Standard bleiben.
Aber auch bei wechselnden Nummern erkennt die Forensoftware doch trotzdem beim Wiedereinloggen, ob es ein und derselbe User oder ein anderer ist. Und selbst wenn die Cookies gelöscht sind, und jemand sich bei der neuen Session einloggt erkennt er es ebenfalls.
Soweit ich gehört habe, sind es immer nur die letzten Nummern der IP, die wechseln. Am Stamm ist trotzdem erkennbar, dass es sich um den gleichen User handelt.
Und was die Auflistung betrifft, mache ich das doch gerade deshalb, weil ohne einer Nickanmeldung die Annonymität noch mehr geleistet ist, als mit Registrierung unter einem Pseudo. Die IPs werden natürlich in Wildcardschreibweise *** erscheinen.
Hinweis:
Bei mir schreibt keiner in der Website. Das Portal ist ausschließlich zum Lesen.
Gruß Mogli
Auch mit IPV6 werden die IPs
am 23.01.2013 - 16:15 Uhr
Auch mit IPV6 werden die IPs wechseln, gerade wegen der Anonymisierung. Das habe die Provider schon zugesagt. Außerdem stehen im Apache-Log die IPs vollständig drin. Die Forensoftware kann den User dann nur noch über Cookies erkennen und das muß auch nicht jeder akzeptieren. Soweit ich weiß, erkennt die Forensoftware von Drupal nicht, ob es sich um den gleichen Gast handelt. Damit ist Deine Idee nicht umsetzbar.
Beste Grüße
Werner
@ wla
am 24.01.2013 - 10:02 Uhr
Hallo Werner,
Auch mit IPV6 werden die IPs wechseln, gerade wegen der Anonymisierung. Das habe die Provider schon zugesagt.
also das ist mir dahingehend neu, was Du schreibst, weil es in einigen Artikeln, die ich darüber gelesen habe, als lästig von vielen Webteilnehmern empfunden wurde, dass sie sich immer wieder eine neue IP verpassenlassen mussten, da auf diese Weise der Betrieb eines Homeservers erschwert wurde.
Selbst Microsoft schrieb irgendwo auf seinen Seiten, mit Ipv6 sei das kein Problem mehr, weil dann, wenn IPv6 aktuell wird, genügend IPs vorhanden seien.
Außerdem stehen im Apache-Log die IPs vollständig drin. Die Forensoftware kann den User dann nur noch über Cookies erkennen und das muß auch nicht jeder akzeptieren.
Nun gut, dann müsste man die sich Anmeldenden hervorhebend darauf hinweisen, die Cookies meiner Site in den Einstellungen zu belassen. Ich glaube nicht, dass jemand das nicht akzeptieren würde, weil es sich um eine äußerst seriöse Seite mit edu-Content handelt. Ansonsten kann sich jemand eben nicht registrieren.
Soweit ich weiß, erkennt die Forensoftware von Drupal nicht, ob es sich um den gleichen Gast handelt. Damit ist Deine Idee nicht umsetzbar.
Gibt es da nicht irgendwelche Adaptionen, mittels derer man das bewerkstelligen kann? Notfalls durch eine entsprechende Programmierung?
Mogli
es mag sein,
am 23.01.2013 - 16:39 Uhr
dass dann feste IPs nicht mehr so teuer sind.
Aber die dynamische IP ist auch ein Sicherheitsfeature.
Unter IPV4 werden die Adressen bei stehenden Verbindungen alle 24 Stunden gewechselt. Mit etwas Glück. oder Pech kann man aber die gleiche Adresse wiederbekommen.
Der Betrieb eines Homeservers, der im Internet zugreifbar ist, gar noch unter Windows, ist nur sehr bedingt sinnvoll.
Abgesehen von den Problemen durch ADSL, muss man auch selbst dafür sorgen, dass die Maschine ständig verfügbar ist, nicht durch eigene Prozesse zu beschäftigt wird etc.
Und ein WEB-Server unter Windows - das sollte man nur im Notfall, und nur in einem begrenzten Intranet betreiben.
@ ronald
am 23.01.2013 - 16:47 Uhr
Hallo ronald,
wie macht die Wiki Foundation denn das?
Da besteht doch die gleiche Konstellation.
Im Gegensatz zu meiner Site, auf der nur gelesen werden kann, schreibt doch da jeder unter seiner IP (die, hinsichtlich des von E-Fee angesprochenen Datenschutzes), sogar für alle sichtbar (!) unter dem verfassten Text erscheint.
Bei mir hingegen erscheint die IP nur am Ende der Seite, nämlich dass der User auf dieser Website war - also völlig unverfänglich!
Was soll denn da gegen den Datenschutz verstoßen?
Bei Wikipedia wird jede IP gesperrt, von der aus jemand in den Artikeln spamt, bzw. Vandalismus betreibt.
@ wla
Deinen Ausführungen zur Folge dürfte das dann ja garnicht funktionieren!
Die Masse der Störer, die im Wikiprojekt gesperrt werden, erhalten beim Wiedereinloggen ja auch eine neue IP.
Bei Gameservern ist das nebenbeibemerkt genauso.
Das alles würde ja wirkungslos sein, wenn die Gesperrten nicht mehr erkannt ihr Treiben lustig fortsetzen könnten.
Wie funktioniert das denn dann bitte und was ist da bei Drupal anders?
Irgendwie verstehe ich nicht, worin die Unterschiede liegen.
Gruß Mogli
wenn es keine anderen Erkennungskriterien gibt
am 23.01.2013 - 17:06 Uhr
ist es tatsächlich so, das eine gesperrte IP auch die aussperrt, die zukünftig diese zugewiesen bekommen, und diejenigen, die diese vorher hatten, mit einer neuen weitermachen können.
Dennoch kann eine Sperre über IP-Adressen, oder sogar IP-Adressranges sehr sinnvoll sein. Nämlich dann wenn die Angriffe aus den gleichen Netzen erfolgen.
IP-Adressbereiche sind bestimmten Regionen und ggf. bestimmten Providern zugeordnet, die diese an ihre Kunden vergeben.
Für eine Adressrecherche ist der genaue Zugriffszeitpunkt relevant.
Mobile Geräte wechseln die IP häufiger, wenn sie bewegt werden. Verlässte man eine Funkzelle, kann es sein, dass man eine neue IP-Adresse zugewiesen bekommt.
@ ronald ...welche Möglichkeiten gibt es?
am 23.01.2013 - 17:30 Uhr
Danke, Ronald, für die schnelle Antwort.
Nun ist mir damit im Grunde aber nicht weitergeholfen.
pebosi schrieb mir oben:
Das hier mal probiert: http://drupal.org/project/ip_login
Liste aller IPs gibts über die "sessions" Tabelle.
Anscheinend existiert so gesehen zumindest eine Tabelle, die die IPs aller Einloggenden aufgelistet enthält.
Auch wla hat geschrieben:
Außerdem stehen im Apache-Log die IPs vollständig drin.
Also müsste die Abrufung dieser Auflistung für die Einspeisung in meinen Block, in dem die Leser der letzten 12 Stunden sich aufreihen sollen, doch möglich sein?
Wo befindet sich diese Liste auf dem Apache?
Und dann ist da ja dieser Hinweis auf http://drupal.org/project/ip_login
Was hat es mit dem Modul auf sich?
Der Übersetzung konnte ich entnehmen, dass es anscheinend das Einloggen ohne Anmeldung bewerkstelligt.
Ganz schön kompliziert, das alles. Habe ich mir einfacher vorgestellt! :-( ...wo meine Seite ansonsten fast fertig ist.
Mogli
Der Apache schreibt einen
am 23.01.2013 - 17:49 Uhr
Der Apache schreibt einen Log-File auf dem Server und dort steht, von welcher IP-Adresse jemand zugegriffen hat. Auf der Seite von IP_Login siehst Du auch, daß Drupal eine eigene Funktion [api:ip_address] hat, mittels der Du die aktuelle IP eines Users bekommen kannst. Allerdings hat in vielen Fällen der User nach 24 Stunden eine andere Adresse von seinem Provider, sofern er keine feste IP hat und das haben die wenigsten. Die alte Adresse hat dann jemand anders bei diesem Netzprovider.
Der nächste Punkt ist ein Netzwerk hinter dem Router mittels NAT. Da hat jeder Rechner hinter dem Router die gleiche Adresse. Dein Konzept für die Bezahlung Deines Services hat also deutliche Lücken.
Beste Grüße
Werner
@ wla Service Lücken
am 24.01.2013 - 00:49 Uhr
Dein Konzept für die Bezahlung Deines Services hat also deutliche Lücken.
Da bin ich mir mittlerweise sicher, dass Du Recht hast, Werner.
Mit php und Servertechnik habe ich mich kaum beschäftigt. Letzlich bin ich, ehrlich gesagt, froh, auf Grund der von Apachefriends hervorragend angelegten Anleitung, die Installation von Apache auf dem Windowsbetriebssystem geschafft zu haben... ...und die Installation auf dem Webserver steht mir ja nächsten Monat noch bevor!
Also danke zunächstmal, für den Ratschlag, wla.
Allein schon, weil das dann mit der mangelnden Sicherheit, dass jemand, der bezahlt hat, dann anschließend u.U. nicht mehr den Zugriff bekommt, weil seine IP ungünstig wechselt, ist ja schon Grund genug für mich, von der Registration über die IP definitiv abzurücken.
Danke natürlich auch allen anderen, die bisher was dazu gesagt haben.
Wirklich toll hier, die Konversation im DrupalCenter!!!!
Und zumindest für mich sehr effizient! Ich hoffe, das es auch einige anderen interessiert - aber die bisher über 400 Aufrufe zeugen ja nicht vom Gegenteil.
Zurück zur Sache:
Was bleibt von meiner Idee, ist also nur noch die Vorstellung, die IPs für die Besuche der letzten 12 Std. auflisten zu können.
Wenn ich die Interessenten am Zugang zu allen Bereichen meiner Site also konventionell registrieren / einloggen lasse, kann ich sie ja trotzdem unter den IPs in der Besucherliste führen. Oder liege ich da auch definitiv falsch?
Zumindest habe ich schon in Foren gesehen, dass statt der Eintragung "Gast" deren IP in der Reihenfolge zwischen den registrierten Nicknames stand. Und die müssen das da ja irgendwie auf die Reihe bekommen haben.
Der Apache schreibt einen Log-File auf dem Server und dort steht, von welcher IP-Adresse jemand zugegriffen hat
Deinen Ausfürungen zur Folge, wla, stelle ich mir nun vor:
Ein einfacher Austausch des Zugriffs auf die Nicknametabelle, in der die jeweils anwesenden User normalerweise für die Anwesenheitsliste geführt sind, gegen den Zugriff auf so eine Datei, wie Du sie beschrieben hast auf dem Apache (Log File) oder durch Abruf und Notierung der IPs aus der drupaleigenen IP Adressenfunktion.
....,daß Drupal eine eigene Funktion ip_address() hat, mittels der Du die aktuelle IP eines Users bekommen kannst.
Oder mache ich da jetzt wieder einen Fehler?
Zumindest kann ich mir vorstellen, dass ich damit erst einmal eine Quelle habe, woher ich die IPs aller Einloggenden überhaupt bekomme ...ich meine jetzt, die jeweilige IP von jedem, der die Site betritt - egal ob registriert, unregistriert oder weitergeleitet (beispielsweise über Google). Das setzt doch voraus, dass ich jeden, jeweils aktuellen Einlogvorgang hinsichtlich der IP irgendwo notieren lasse und der Gesamtinhalt wird in besagtem Block, in dem die Leser der letzten 12 Stunden für jedermann nachvollziehbar sind, formatiert.
Dann bliebe nur noch die zeitliche Eingrenzung zu lösen: Zeitspanne 12 Stunden
Furchtbar, wenn das auch nicht klappt, weil das ganze Konzept der Webseite dann aus dem Ruder geraten würde :-(
.
Grüße an alle Drupalnachteulen vom vor Sorge kopfrauchenden Mogli
Leider kann ich Dir grad
am 24.01.2013 - 01:12 Uhr
Leider kann ich Dir grad nicht helfen, aber mich interessiert wirklich: wofür braucht man das? Welchen Nutzen hat man von so einer Anzeige?
Vielleicht hilft aber doch dieser Gedanke? Wenn Du piwik einsetztest, könntest Du ev. ganz elegant eines der dort verfügbaren Widgets nutzen?
@ leda
am 24.01.2013 - 01:38 Uhr
Hallo leda,
danke für den Tipp.
Ich werde es allerdings erst morgen checken; habe 12 Std. Web hinter mir
Morgen mehr dazu, wofür ich das einsetzen will.
Es wäre nett, wenn Du die nächsten Tage nochmal rein schaust!
Grüße in die Schweiz
.
Mogli
Hallo
am 24.01.2013 - 11:38 Uhr
ch meine jetzt, die jeweilige IP von jedem, der die Site betritt - egal ob registriert, unregistriert oder weitergeleitet (beispielsweise über Google).
So kannst Du es machen aber diese Lösung ist schlecht:
erstelle eine Tabelle ind Deiner DB datum,ip,user
in deiner page.tpl.php oder html.tpl.php fügst du einen db_query("INSERT INTO blah,blah") ein mit den Werten ein.
Dann hast Du eine Tabelle mit deinen Werten.
Wie bereits erwähnt ist es nicht möglich einen Benutzer per IP wirklich aufzulösen, das geht eigentlich nur COOKIES und SESSIONS
Zeitspanne 12 Stunden die gleiche IP? Was ist mit mobilen Geräten dei öfters wechseln? .
Ausserdem werden so Daten doppelt gespeichert, da die selben Informationen im Apache.log stehen.
Du machst folgenden Fehler:
IP Adresse => Hardware => NIC
Benutzer => Software => Webserver
IP Adresse und Benutzer kommen aus verschiedenen Schichten.
Du solltest unbedingt davon absehen Benutzer durch IP Adressen auflösen zu wollen anstatt per COOKIE's und SESSIONS.
Das funktioniert nicht:
Nun stell Dir vor in einer Bank gehen alle über einen Proxy raus (Alle Benutzer gleiche IP).
In Drupal können sich Benutzer mit gleichem Namen registrieren.
Nun gehen sind von dieser Bank 2 Personen die den gleichen Nick haben bei Dir online !
Wie willst Du das auflösen wenn nicht über COOKIES und SESSIONS ?
LG