helmut.g
Goto Top

Client am WebServer autentifizieren, aber ohne User Eingriff? Eure Vorschläge?

Hallo Zusammen,

Ziel in der kurzen Version erklärt:
Mehrere Displays sollen über einen Android-Client Informationen anzeigen, die von einem Webserver generiert werden. Da eine "Nutzungsgebühr" pro Anzeige Display anfällt, sollte niemand einfach hergehen können, die URL vom Android Browser notieren, und auf einem beliebigen anderen System starten lassen können, ohne dass es der Webserver mitbekommt. Der Webserver und die Android-Clients sind über Internet Verbunden, also nicht im selben LAN.
Befor ein Android Client zum Installationsort geht, sollte irgendwie eine identifizierung gegenüber dem Server stattfinden, die nicht so leicht kopiert werden kann. Z.B. eine Hardware ID des Client, die immer gleich ist, die dem Server bei erster einrichtung des Clients übermittelt wird. Beim Aufruf der WebSite fragt der Server diese ID vom Client immer wieder an und vergleicht sie mit der in seiner DB. Stimmen sie überein, bekommt der Client seine Daten.


Mögliche Varianten:
- Hardware Token (möchte der Kunde vermeiden)
- GUID des Browsers abfragen (hab darüber keine genaueren Infos gefunden, sollte aber angeblich mit chrome gehen)
- MAC der Netzwerkverbindung (über den Browser kann man Hardware meines wissens nicht auslesen. verbessert mich bitte)
- Client IP stetig vergleichen (geht aber nur bis zur public IP, oder schlimmstenfalls Knotenpunkt. Wenn 2 die selben Daten abrufen wollen, stimmt was nicht, aber dann kann ich nicht vorbeugend schützen sondern nur nachträglich kontrollieren)


Habt ihr eine Idee oder schon Erfahrungen für eine solche Absicherung?
Es muss keine "un-hackbare" Lösung sein, aber zumindest soll nicht jemand die URL auf einem anderen Gerät als das von uns gelieferte öffnen können.

WebServer unter PHP, MySQL. Browser der Clients idealerweise Chrome. Kann gerne auch auf jQuery oder normales JS basieren.

Grüße in die Runde
Helmut.G

Content-ID: 263206

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

Ausgedruckt am: 24.11.2024 um 14:11 Uhr

117643
Lösung 117643 12.02.2015 aktualisiert um 15:15:44 Uhr
Goto Top
Mögliche Wege:
- Authentifizierung beim ersten Webseitenaufruf via Sessions / Cookies
- Da Android: Eigene App entwicklen, welche den Browser verwendet, aber die URl versteckt
Helmut.G
Helmut.G 12.02.2015 um 15:25:45 Uhr
Goto Top
Zitat von @117643:

Mögliche Wege:
- Authentifizierung beim ersten Webseitenaufruf via Sessions / Cookies
- Da Android: Eigene App entwicklen, welche den Browser verwendet, aber die URl versteckt

Die Entwicklung einer App steht ausserhalb meiner Fähigkeiten... ich muss mit PHP, jQuery eine Lösung finden
Sessions und Cookies hat mich aber auf eine Idee gebracht. Ich kann auf dem Client im Chrome Browser auch Daten im "LocalStorage" des Browsers ablegen, z.B. eine zuvor erstellte GUID. zusätzlich einen "Zähler mit erfolgreichen Aktualisierungen der angezeigten Inhalte, Diesen Zähler und die GUID übergebe ich z.B. alle 10te Aktualisierungsanfrage mit an den Server. Dann sehe ich an unregelmäsigkeiten beim Zähler, ob die URL auf ein anderes Gerät kopiert wurde.
Ist nicht optimal aber kann ich auch aus der Ferne gut verwalten, denke ich.

Sonst noch jemand eine Idee?