2016-10-25 1 views
0

ich habe asp.net web api verwendet von mobile app. In Facebook sehe ich Benachrichtigungen wie "Zugriff auf Ihr Konto von neuem Gerät". Ich möchte das Gleiche umsetzen. Gerät könnte mit verschiedenen Wi-Fi oder 3G verbunden werden, so dass die Verwendung von IP Adresse nicht gut ist. Wie definiere ich den Zugang von einem neuen Gerät und erinnere mich an zukünftige "vertrauenswürdige Geräte"?ASP.NET web api: erkennen zugang von neuen gerät

Antwort

0

Sie könnten eine Kombination von Daten suchen, um sie eindeutig zu identifizieren, siehe EFF's website on browser fingerprinting.

Aber der allgemeine Ansatz besteht darin, ein Cookie zu setzen und zu überprüfen, ob es bei zukünftigen Besuchen vorhanden ist.

+1

Cookies für diese nicht zuverlässig und einfach gelöscht werden kann, und wenn Ihr neues Gerät eine mobile App gibt es dann ohnehin keine Cookies. –

+0

In der Tat, einige werden sie in Kombination mit anderen Fingerabdrücken verwenden (oder lokalen Speicher verwenden). Das OP kann sehen, ob sie den Test auf dem angegebenen Link ausführen. MAC-Adressen, CPU-Serien usw. sind jedoch nicht zugänglich und können daher nicht verwendet werden. –

0

Sie benötigen für jedes Gerät eine eindeutige Kennung.

Bei einem Computer könnte es sich um eine MAC-Adresse handeln. Wenn es sich um ein mobiles Gerät handelt, haben sie jeweils eine eindeutige Kennung, die Sie zusammen mit der Anfrage senden könnten.

Sie würden dann eine Liste dieser IDs auf der API-Seite führen und jedes Mal, wenn eine Anfrage eingeht, einfach überprüfen, ob diese ID in der Liste ist, die Sie bereits haben. Wenn nicht, dann ist es .. neues Gerät.

Hier ist eine weitere Diskussion, die für Ihr Szenario relevant sein könnten: What is a good unique PC identifier?

+1

Ich glaube nicht, dass etwas wie MAC-Adresse von einem Browser zugänglich sein wird. Nirgends weiter als der erste Router-Hop vom Client wird das wissen. –

+0

Die Bearbeitung mit dem Link mit dem eindeutigen Bezeichner hilft nicht, da diese zwar eindeutig sind, jedoch nicht über den Layer/Browser der Anwendung zugänglich sind. –

+0

Ich sehe, ich kann einige Geräte-ID basierend auf Geräteeinstellungen wie IMEI oder Paar DateTime.Now + Benutzername generieren und senden Sie es mit jeder Anfrage von der App. – mtkachenko