【问题标题】:Is a WCF service open for method calls for any computer in the network by default?默认情况下,是否为网络中任何计算机的方法调用打开 WCF 服务?
【发布时间】:2013-03-08 14:39:46
【问题描述】:

我有一个 Silverlight Web 应用程序,我正在使用 wcf 服务将数据加载到客户端。我应该保护 WCF 服务吗?网络上的任何人都可以调用该服务的方法吗?

【问题讨论】:

    标签: wcf web-services security service wcf-security


    【解决方案1】:

    是的,如果他们知道 url,他们就可以看到和访问服务。

    如果他们能看到,他们只需要做一个“添加服务引用”,他们就可以看到所有可用的方法。

    而且由于 silverlight 使用基本的 httpbinding,它可以通过防火墙工作(它们通常允许 http 流量)。

    如果它包含敏感信息,你应该保护它。

    【讨论】:

      【解决方案2】:

      默认情况下,您将通过默默无闻获得安全性,因此如果您不广播 WCF 服务的存在,则不太可能找到或调用它。此外,如果没有配置适当的客户端代理,将很难使用它。如果您没有设置 MEX 端点,那么您还是很安全的。

      尽管如此,您还没有真正授权调用。理论上可以找到您的 WCF 服务并创建一个代理来调用它。因此,如果您想要安全,我建议您查看 WCF 授权。设置起来相当容易,您可以使用各种选项,例如用户名-密码、Windows 帐户或 X.509 证书。各有优缺点。

      这篇文章非常详细,还有其他文章。 http://msdn.microsoft.com/en-us/magazine/cc948343.aspx

      【讨论】:

      • 我根本看不到晦涩难懂...我们这里不是在谈论普通用户...任何普通的 joe 都可以启动 fiddler 并查看他们的浏览器正在发送/接收什么.. . 发现这项服务并不难。
      猜你喜欢
      • 2016-02-28
      • 1970-01-01
      • 2018-09-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-08-04
      相关资源
      最近更新 更多