Besuch einer Seite identifizieren

EGJSoldier

Erfahrenes Mitglied
Hallo zusammen,
ich möchte gerne wissen, ob jemand gerade eine bestimmte Seite besucht. Das konkrete Szenario ist folgendes:
Ich habe ein Java- Applet geschrieben, mit welchem man per drag&drop Bilder uploaden kann. Nun sind die Bilder zwar auf dem Server, jedoch wurde dem Bild noch keine Beschreibung zugewiesen. Deswegen habe ich noch eine Seite, wo man die hochgeladenen Bilder updaten kann. Das Problem an der Sache ist, dass wenn in der Zwischenzeit wieder jemand Bilder hochlädt, sich die Liste der zu updatenden Bilder erweitert. Und es fällt nicht direkt auf. Deswegen wollte ich ne Art Transaktion einbauen. D.h. solange jemand die Updates am Abarbeiten ist, darf da kein anderer etwas machen. Dazu muss ich aber wissen, ob jemand updates macht. Wie finde ich das heraus. Hat da jemand ein Idee?

Mit freundlichen Grüßen
David
 
Hi

das Problem ist also:
Jemand lädt Bilder hoch und soll dann aber Beschreibungen für mehr eingeben,
es sind also Bilder von anderen Leuten dabei?

@Drag&Drop: Geht inzwischen mit HTML5 auch. Kein Java nötig, weg.

@Immer nur einen Nutzer Zulassen: Im Web gar nicht so toll...
Naja, eigentlich nie toll. Aber bei einer Website besonders.

Gibts einen Login der so? Ja: Dann sollte sich das Problem erledigt haben.

Nein: Trotzdem temporär eine Nutzerkennung per Cookie etc. vergeben,
nur ohne Benuzername/Passwort-Eingabe.
Also beim Aufruf der Uploadseite ein Cookie mit einer möglichst eindeutigen ID setzen
(fertiges Sessionzeug oder zB. Hash aus IP+Microtime+random+...)

Wenn die Bilder dann ankommen mitabspeichern, welche ID es war
und daran dann ermitteln, zu was Beschreibungen benötigt werden.
 
Hi sheel,
danke erstmal für deine Antwort.
Warum ich das gerade so mache, hat schon seinen Sinn ;). Es geht sich eigentlich nur um einen gescheiten Transaktions- Algorithmus. Datenbanken verwenden diesen ja ebenfalls, nur das da ne Transaktion viel schneller abgearbeitet wird. Ich weiß halt nicht, wie ich einen Besucher identifizieren kann. Man kann zwar über die IP gehen, doch in meinem Fall sitzen mehrere Leute hinter einem Router, also denke ich mal, dass es da dann schon Probleme gibt.
Vielleicht nochmal, warum ich so auf der Besucheridentifikation rumreite:
Ich möchte nacher noch Tranaktionen parallel ablaufen lassen und diese dann auch noch loggen.

Ich habe im Netz mal ne Seite gesehen, wo der Administrator der Seite einem Besucher über den Browser eine Nachricht schicken konnte, ohne dass der User ein Konto auf der Seite hat.

David
 
...Datenbanken verwenden diesen ja ebenfalls, nur das da ne Transaktion viel schneller abgearbeitet wird.
Datenbanken haben in vielen Punkten bessere Ausgangsbedingungen.
Ich weiß halt nicht, wie ich einen Besucher identifizieren kann. Man kann zwar über die IP gehen, doch in meinem Fall sitzen mehrere Leute hinter einem Router, also denke ich mal, dass es da dann schon Probleme gibt.
Genau,würde es geben.
Siehe oben zur ID :rolleyes:
Man muss ja nicht immer Name/PW verlangen, um dem Benutzer eine Kennung zu geben.
Vielleicht nochmal, warum ich so auf der Besucheridentifikation rumreite:
Ich möchte nacher noch Tranaktionen parallel ablaufen lassen und diese dann auch noch loggen.
Ich versteh dein Vorhaben leider noch nicht.
Du arbeitest zuerst darauf hin, immer nur einen zuzulassen,
um dann mit noch mehr Arbeit wieder mehrere zuzulassen.

Loggen kann man auch, wenn man die gegebene Multiuserfähigkeit eines Webservers ausnutzt.

Ich habe im Netz mal ne Seite gesehen, wo der Administrator der Seite einem Besucher über den Browser eine Nachricht schicken konnte, ohne dass der User ein Konto auf der Seite hat.
Paar Gedanken dazu:

Beim Seitenaufruf muss sich der Browser mit einem ID-Cookie melden.
Wenn nicht bekommt er ein Neues.

In jedem Fall wird die ID zusammen mit der aktuellen Zeit in eine Db eingetragen
(bei der regelmäig (automatisiert) die zu alten Einträge gelöscht werden).

Auerdem gibts in der Tabelle noch eine Spalte Nachricht
(oder eine ganze Tabelle, für die Normalisierung).

Eventuell macht man die Website so, dass sie regelmäßig per Ajax "Benutzer ist noch da" meldet.

Bei Seiten/Ajax-Aufrufen wird geprüft, ob zur ID eine Nachricht in der DB ist.
Wenn ja, raus damit und anzeigen.
 
Ich versteh dein Vorhaben leider noch nicht.

Also ich habe mir gedacht, dass ich mir danach auch mal aus Spaß so ein Funktion schreiben werde, wie vorhin schon genannt:

Ich habe im Netz mal ne Seite gesehen, wo der Administrator der Seite einem Besucher über den Browser eine Nachricht schicken konnte, ohne dass der User ein Konto auf der Seite hat.

Also deine Lösung mit den Cookies leuchtet mir ein und ist auch plausibel, aber ich bin nicht so der Fan von Cookies. Wenn jemand Cookies nicht zulässt, so wie ich, dann ist das schlecht. Ich möchte so viel wie möglich Serverseitig abarbeiten. Das geht nicht immer, allein, weil man hier und da JS benutzen möchte, um die Seite felxiebler zu gestallten. Da kommt man manchmal nicht drumherum.

Hasst du vllt dafür noch eine andere Lösung?

Edit: Das oben genannte Modul, wo die Message an alle Besucher geschickt wird, die gerade auf der Seite sind, war glaube ich ein Modul in Drupal. Kennt da vllt jemand den Namen des Moduls?

David
 
Zuletzt bearbeitet:
Wenn du ohne Cookies arbeiten willst fällt mir nur das übergeben der ID über die URL ein was aber ein Sicherheitsrisiko darstellt. Session arbeitet auch mit Cookies also fällt das auch weg...

Man könnte mehr Informationen vom Nutzer auslesen und damit arbeiten lässt aber auch keine eindeutige identifikation zu. (IP, Browser, microtime, random Number/Chars)

Da bei deaktivierten Cookies keine Informationen gespeichert werden kannst du ihn nicht genau identifizieren.... Die IP kann sich ändern, viele Benutzer nutzen vielleicht den selben Browser, usw...
 
Zurück