【问题标题】:Detecting Web Service Call Origin in WCF在 WCF 中检测 Web 服务调用源
【发布时间】:2012-01-23 00:31:28
【问题描述】:

我有一个 WCF 网络服务。我想将对该服务的调用限制在我的应用程序中的单个页面。此页面面向公众。有什么方法可以查看对该 Web 服务的调用来自何处?我想说 if (ThisRequestCameFromThisPage()) { goAhead(); }

谢谢!

【问题讨论】:

    标签: wcf


    【解决方案1】:

    您可以执行类似于 MAC 验证的操作。在服务器端,创建某种类型的加密令牌并将其嵌入隐藏的表单元素、javascript 变量等中——在服务器上呈现期间,将其嵌入页面中,以便可以通过将要检索的 javascript 检索它调用 WCF 服务。将令牌传递给调用,并在服务器端进行验证。

    应该在加密令牌中的内容应该是客户端的 IP 地址 (REMOTE_ADDR) 和能够使令牌过期的日期/时间。令牌仅在服务器上加密和解密,因此一个合适的密钥应该可以保证数据的安全。

    【讨论】:

      【解决方案2】:

      您可以检查 Request 对象的引用者。但这很容易被欺骗,不应该依赖。

      【讨论】:

        猜你喜欢
        • 2014-08-23
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-02-15
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多