2012-04-02 20 views
0

Ich entwickle eine mobile orientierte Website mit asp.net. Diese Website wird einige Webdienste benötigen, die für jeden Anruf einen Benutzernamen und ein Passwort benötigen. Dazu muss ich die Anmeldeinformationen speichern, die der Benutzer auf dem Anmeldeformular auf dem Client verwendet. Was sind die besten Praktiken?Speichern Sie Benutzername Passwort im lokalen Speicher des Browsers mit C#

Ich frage mich, wie ich den Benutzernamen und das Passwort lokal speichern sollte, ein akzeptables Maß an Sicherheit zu halten.

Ich habe über das Verschlüsseln der Anmeldeinformationen in C# nachgedacht und dann den verschlüsselten Wert in der localStorage des Browsers gespeichert. Wäre es "gesichert"?

Andere Frage, ist es möglich, in der localStorage mit C# zu speichern, JavaScript auszulösen?

Danke.

+0

Warum nicht Sitzungsstatus verwenden? Der Benutzer meldet sich an, erhält einen Cookie und verwendet diesen Cookie mit einer sessionID zur Authentifizierung. – frenchie

Antwort

3

Tun Sie es nicht wäre die beste Praxis.

Im Ernst, Malware auf mobilen Geräten ist heutzutage so hoch, ich würde nichts Sensibles auf ihnen speichern. Außerdem ist es sehr einfach, ein mobiles Gerät zu verlieren, und wer hat dann die Login-Daten?

Auch auf normalen Websites gibt es normalerweise eine "Remember me" -Option, und es liegt beim USER, zu bestimmen, ob sie es speichern möchten, wenn sie möchten, nicht der Webentwickler.

Im Falle eines Kontrollkästchens "Erinnerer mich" werden die Anmeldeinformationen des Benutzers normalerweise in einem Cookie gespeichert. Nicht die sicherste Sache der Welt. http://www.wisegeek.com/is-it-safe-to-select-the-remember-me-on-this-computer-checkbox-with-online-accounts.htm

Einige Websites verwenden eine Windows-Anmeldung oder etwas Ähnliches, wo es eine tatsächliche Anmeldeaufforderung gibt, und das alles wird vom Browser gehandhabt, wiederum nicht vom Webentwickler.

Wenn Sie eine echte mobile App entwickeln, dann liegt es an Ihnen, das Passwort sicher zu speichern. Aber nicht für eine mobile Website.

+0

Danke für diese klare Antwort! Also wie soll ich wissen, dass die Webdienste den Benutzernamen und das Passwort in der Anfrage benötigen? – Distwo

+0

Ich würde dies ein wenig abschwächen, wenn es absolut keine sensiblen Daten in der App gäbe, und Sie möchten nur den Benutzer für Dinge wie halten Sie ihre bevorzugte Stadt für eine Wetter-App, etc. Völlig harmlose Daten. Aber wenn Sie ihnen Zugriff auf alles geben, was ein böswilliger Benutzer gewinnbringend nutzen könnte, dann würde ich mich stark dagegen aussprechen, überhaupt einen Mechanismus zur Erinnerung an den Login des Benutzers bereitzustellen. Verlorene/gestohlene mobile Geräte sind eine wachsende Quelle von Datenpannen-Einstiegspunkten. – David

+0

Der Client auf dem mobilen Gerät benötigt kein Benutzername-Passwort. Die Website benötigt den Benutzernamen/das Passwort, wenn die Website den Webservice aufruft. Das Gerät sollte sich dessen nicht vollständig bewusst sein. oder lese ich das falsch? Ihre Website wird auf einem Server ausgeführt und der serverseitige Code ist der Aufruf des Webdiensts und nicht der Client-App, oder? – David