webpage/webservice auf genau einen User beschränken, Mutex

Alles, was den Apache betrifft, kann hier besprochen werden.

webpage/webservice auf genau einen User beschränken, Mutex

Postby stahlstngel » 27. April 2016 21:48

Hallo,

ich arbeite aktuell an einer Linux Plattform die als GUI eine Webpage nutzt.

Aus Sicherheitsgründen und da dabei auf eine bestimmte Hardware zugegriffen wird, darf sich die Website jedoch nur genau einmal öffnen.
Und da ich letztens in einem speziellen Portal gemerkt habe, dass ....wenn ich ein Fenster auf das Portal ein zweites Mal öffne....dann kommt erst die Frage (da das andere Fenster(Tab) noch offen war): "wollen Sie ein neues Fenster öffnen und das andere inaktiv schalten"). Wenn ich dieser Frage zustimme deaktiviert sich auch der andere Tab und immer nur ein Tab ist aktiv. Also im Prinzip wie ein "Mutex" nur für Portnummern oder Zugriffe, Anfragen...usw .

Genau dies will ich auch mit meinem apache2 Server erreichen. Jedoch konnte ich bislang keine Lösung finden (webservice begrenzen, only one client, website auf einen nutzer beschränken,....)


Könnt Ihr Fachleute mir helfen?
stahlstngel
 
Posts: 2
Joined: 27. April 2016 21:31
XAMPP version: 2.4.7
Operating System: Raspbian

Re: webpage/webservice auf genau einen User beschränken, Mut

Postby Altrea » 27. April 2016 22:14

Hallo,

Apache selbst reagiert nur auf Anfragen. Wird eine Anfrage an den Apache gestellt, liefert dieser ein aufbereitetes Dokument an den anfragenden Client aus. Danach ist für den Apache der Vorgang abgeschlossen. Es gibt keine "aktive Verbindung" aus Sicht des Apache im eigentlichen Sinn. Weiterhin gibt es noch keine Flächendeckende Möglichkeit über Beispielsweise eine PUSH Notification einem anderen geöffneten Browser mitzuteilen, dass er nicht mehr auf eine Webseite darf, weil sich ein anderer Browser verbunden hat.
Das Problem musst du also auf der Scriptseite lösen. Die Möglichkeiten hängen hierbei stark von den eingesetzten Techniken ab.

mit freundlichen Grüßen,
Altrea
We don't provide any support via personal channels like PM, email, Skype, TeamViewer!

It's like porn for programmers 8)
User avatar
Altrea
AF Moderator
 
Posts: 8286
Joined: 17. August 2009 13:05
XAMPP version: several
Operating System: Windows 10 Pro x64

Re: webpage/webservice auf genau einen User beschränken, Mut

Postby Nobbie » 28. April 2016 10:23

Es gibt nicht einmal mehr eine aktive TCPIP Verbindung, nach dem Apache die geforderte Seite ausgeliefert hat. Es gibt gar nichts. Alle Seiten, die eine "aktive" Verbindung anzeigen, sind vorgegaukelt. So wird beispielsweise in vielen Foren in einer Statusleiste angezeigt, welche User gerade "im Forum" sind. Das ist einfach frei erfunden. Das kann Apache nicht feststellen. Alle diese Seiten basieren im Grunde nur auf dem Prinzip, dass Apache sich die Anfragen der letzten X Minuten merkt und dann davon ausgeht, wer innerhalb der letzten 10 Minuten beispielsweise das Forum angefordert hat, der wird noch mit dem Lesen des Beitrag beschäftigt sein. Das ist wild geraten und braucht nicht mit der Realität übereinzustimmen.

Es gibt insofern auch nicht wirklich einen "Login". Da wird auch nur etwas simuliert, im Prinzip läuft ein "Login" darauf hinaus, dass sich Apache (oder ein PHP Script) nur merkt, dass ein gewisser Anwender sich unlängst mit seinen Userdaten qualifiziert hat. Das Wissen darüber wird typischerweise in einem Cookie abgespeichert (genau deswegen gibt es überhaupt Cookies, weil es keine aktive Verbindung gibt und das Cookie ist eine Art Gedächtnis, das ist ein Mechanismus, wie sich ein ganz bestimmter Browser gegenüber dem Apache Server identifiziert) und wenn der Anwender (bzw. eigentlich nur ein Browser, der Anwender kann seinen Platz an jemanden weggegeben haben) beim nächsten Mal die Seite abruft, dann wertet Apache (oder das PHP Script) das Cookie aus und weiß, aha, der hat sich schon mal angemeldet, den frage ich nicht mehr nach einem Passwort, der darf so herein. Und das ganze wird dann optisch so aufbereitet, dass der Anwender glaubt, er wäre irgendwo "aktiv eingelogged".
Nobbie
 
Posts: 8759
Joined: 09. March 2008 13:04

Simple Lösung?

Postby stahlstngel » 29. April 2016 08:12

@Altrea: Soweit habe ich apache auch verstanden. Was wäre denn die einfachste Lösung für das Problem? Wenn ich es richtig gesehen habe nutzt das von mir genannte Beispiel javascript. Damit kenn ich mich allerdings noch nicht so gut aus.

Es gibt dafür ja gewiss eine simple Lösung. Kann mir da jemand ein Beispiel nennen oder mich auf die entsprechende Quelle verweisen?
stahlstngel
 
Posts: 2
Joined: 27. April 2016 21:31
XAMPP version: 2.4.7
Operating System: Raspbian

Re: webpage/webservice auf genau einen User beschränken, Mut

Postby Altrea » 29. April 2016 10:28

Standard JavaScript wird im Browser des Client ausgeführt. Dieser hat erstmal sowieso keine Informationen über andere verbundene Clients.
Mehr kann ich dazu nicht sagen, es hängt alles von der Implementierung ab.

Aber verabschiede dich schonmal von dem Gedanken, dass es für dieses Problem eine einfache Patentlösung gibt.
We don't provide any support via personal channels like PM, email, Skype, TeamViewer!

It's like porn for programmers 8)
User avatar
Altrea
AF Moderator
 
Posts: 8286
Joined: 17. August 2009 13:05
XAMPP version: several
Operating System: Windows 10 Pro x64

Re: Simple Lösung?

Postby Nobbie » 29. April 2016 12:09

stahlstngel wrote:Es gibt dafür ja gewiss eine simple Lösung.


Eben NICHT! Es gibt KEINE(!) Möglichkeit festzustellen, dass beispielsweise jemand mit geöffnetem Browser und Deiner Seite geladen einfach den Strom am Computer ausschaltet - klatsch weg! Das bekommt Dein Server nicht mit.
Nobbie
 
Posts: 8759
Joined: 09. March 2008 13:04


Return to Apache

Who is online

Users browsing this forum: No registered users and 3 guests