
Ich wurde mit Behauptungen eines Benutzers eines Online-Spiels konfrontiert, dass die Spiel-Engine laut seinem Gespräch mit einem der Moderatoren es erlaube, sofort zu erkennen, wenn der Benutzer mit mehreren Konten spielt, die auf demselben Computer erstellt wurden. Er hat verstanden, dass es eher mit der Netzwerkkarte als mit dem Computer zu tun hat, also habe ich schnell erkannt, dass die einzige Möglichkeit darin besteht, die MAC-Adresse zu lesen (der Benutzer kann mehrere Browser verwenden, das System neu installieren und diese Sicherheit muss sowieso funktionieren).
Diese Aussage hat mich sehr fasziniert. Ist es möglich, dass Browserspiele (in PHP geschrieben) tatsächlich auf meine MAC-Adresse zugreifen und sie lesen können? Bei ActiveX ist das nicht der Fall, da nur ein kleiner Teil der Spieler den Internet Explorer verwendet. Ich kenne keinen Standardmechanismus, der das zulässt, aber ich bin kein Experte ...
Die Möglichkeit, MAC-Adressen zu lesen, wäre eine große Gefahr für die Privatsphäre und daher sehr beunruhigend …
Antwort1
Sofern sich Webserver und Client nicht im selben Ethernet-Segment befinden, kann der Host, der PHP bereitstellt, normalerweise nur die Client-IP-Adresse vom Browser des Benutzers erkennen, nicht aber die zugehörige MAC-Adresse. Dies liegt daran, dass die MAC eine Link-Local-Adresse ist und Router keine Pakete mit Link-Local-Adressen weiterleiten. Wenn sich also mindestens ein Router zwischen Webserver und Client befindet, sieht der Webserver nur die MAC des ihm am nächsten gelegenen Routers.
Allerdings ist es möglich, die MAC-Adresse im IE mithilfe von clientseitigem JavaScript zu erkennen, das über ActiveX eine Verbindung zur Netzwerkkarte herstellt. Siehe diesBeitrag über Stapelüberlauffür weitere Details.
Alternativ kann ein Java-Applet in anderen Browsern verwendet werden. Die Sicherheitsstufe hierfür wird in der Richtliniendatei der Java Runtime Environment festgelegt. Wenn der Benutzer also den Zugriff auf Systeminformationen aktiviert hat, kann das Applet möglicherweise die MAC-Adresse abrufen.
TL;DR – es sei denn, der Browser verfügt über eine aktivierte Technologie, die eine Brücke zum Betriebssystem schlagen kann (z. B. ActiveX, Java-Applet usw.), kann der Browser die MAC-Adresse des Clients nicht erkennen.