Frage

Wir haben eine Silverlight-Anwendung, die wir geschrieben haben, die eine Silverlight-fähigen Datendienst aufruft. Die Silverlight-Anwendung kann keine Anmeldung erforderlich ist, wie es erforderlich ist, Daten an die nicht-autorisierten Öffentlichkeit zu präsentieren.

Wir haben einige schmoe, die sich die Zeit nahmen, um unsere Silverlight-Anwendung zu untersuchen, die eine oder andere Figur, was Service es ruft, und schrieb dann seine eigene Client die Daten schlürfen aus, damit er es auf seiner Website veröffentlichen können und so tun, wie es ist sein. Wir brauchen dies zu verhindern.

Wie kann ich meinen Datendienst begrenzen irgendwie akzeptieren nur Anfragen von meinem Silverlight-app? Ich habe versucht, die allow-von Domain-uri Einstellung in der clientaccesspolicy.xml Datei mit Zugriff auf den Dienst von der Domäne zu beschränken, in denen die Silverlight-Anwendung sitzt (zB mydomain.com). Das hat absolut nichts aber, und der Dienst dient immer noch Anfragen an Kunden von außerhalb der Domäne. (Getestet habe ich diese durch meine SL-Anwendung auf einer anderen Domäne unter unserer Kontrolle setzen).

Was ist der richtige / besten / effektivste Weg, den Datendienst, so dass nur unsere App begrenzen können es verwenden? Dank !!!

Ich bin mit SL 3 und .NET 3.5.

War es hilfreich?

Lösung

Die clientaccesspolicy.xml die Silverlight-Anwendung zeigt, die es Webservice können verbrauchen. Nicht Menschen verhindern, dass der Webservice erreichbar.

Sie können versuchen, eine Authentifizierungs-Login verwenden, obwohl es nicht erforderlich ist. Dies verhindert, dass ‚schmoes‘ Zugriff auf Ihre Webservice.

Auch Dotfuscator verwenden, um ‚schoes‘ zu verhindern, dass Ihre Silverlight-Anwendung zu zerlegen und die Login erwerben.

Andere Tipps

Silverlight webservice Sicherheit folgt die gleichen Muster, die Sie für ASP.NET-Sicherheit verwenden würde, vor allem Dienstleistungen für AJAX ausgesetzt. Der beste Weg, die Verwendung von ASP.NET der Authentifizierung tun machen.

RIA Service ist eine noch bessere Möglichkeit, dies zu umgehen. Es reitet auf der ASP.NET Autorisierung, aber bestätigt sowohl auf der Client- und Server-Seite automatisch Service-Spoofing zu bekämpfen. Es können Sie kümmern sich um Client und Server-seitige Genehmigung durch Attribute auf Ihre Methoden hinzufügen, die anzeigt, dass das Verfahren den autorisierten Zugriff erfordert, und durch welche Gruppen oder Benutzer, wenn Sie spezifisch sein müssen.

Neben drahtseitigen Sicherheit und Verschleierung, denken Sie daran, dass die Kunden in ihren Browser ein Debugger zu Silverlight-Anwendungen anhängen können ausgeführt werden. Sehen Sie diese Beispiel von MSDN Magazine Security IQ Test rel="nofollow November 2008 .

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top