繁体   English   中英

保护我的适用于Silverlight应用程序的Internet Web服务

[英]Secure my internet web service for silverlight applications

我有一个Silverlight应用程序,该应用程序不在浏览器中,并且位于客户端桌面上。 我想将其称为互联网上的Web服务。

我如何确定所拨打的电话是有效的,而不是入侵者?

在我的脑海中,我想说的是,我只能传递仅Silverlight应用程序知道的密码...,但是我敢肯定那是行不通的。

人们通常如何做这种事情?

这取决于您真正想保护您的Web服务不受谁攻击。 我想这里的问题是您不希望您的用户使用其他应用程序来调用您的服务。

Silverlight应用程序在客户端计算机上运行。 Silverlight应用程序了解的所有内容也可供最终用户或有权访问该计算机的任何其他人访问。 也就是说,如果silverlight可以调用您的Web服务,那么您的最终用户也可以使用其他工具进行相同的调用。 您可以创建很难做到的方案,但是有可能。

您可以使用身份验证SL + ASP .net成员资格提供程序:

http://www.silverlightshow.net/items/Leveraging-the-ASP.NET-Membership-in-Silverlight.aspx

祝你好运Braulio

我不确定我是否正确理解了这个问题,所以这个答案可能会有点过头,如果可以,抱歉。

Silverlight客户端对wcf服务的调用已由clientaccesspolicy.xml验证。

在该文件的allow-from部分中,您设置了Silverlight应用程序可以从哪个托管域访问服务,从其他域上托管的silverlight应用程序访问将导致跨域异常。 但是恶意用户很可能会在Silverlight客户端中更改托管域信息。

 <?xml version="1.0" encoding="utf-8"?>
    <access-policy>
      <cross-domain-access>
        <policy>
          <allow-from http-request-headers="SOAP">
            <domain uri="http://my.domain.com"/> <!-- allowed domains -->
          </allow-from>
          <grant-to>
            <resource path="/" include-subpaths="true"/>
          </grant-to>
        </policy>
      </cross-domain-access>
    </access-policy>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM