【问题标题】:Prevent direct access to JSON Web Service防止直接访问 JSON Web 服务
【发布时间】:2009-06-18 06:14:59
【问题描述】:

我有一个通过在页面中插入一段 javascript 来使用的 web 服务。 Javascript 扫描页面中的某个字符串并向我的 ASP.NET JSON WebService 发出请求。然后 javascript 使用 JSON 来显示一些内容。

我最想做的是阻止任何人直接访问我的 JSON 服务。

使用 jQuery Ajax 请求访问服务。

这可能吗?

最好的问候, TheLorax

【问题讨论】:

    标签: jquery ajax web-services json security


    【解决方案1】:

    我的经验主要是 PHP,所以您可能需要将这个概念转换为 ASP.NET ;)

    如果代码是同一个 Web 应用程序的一部分(或在同一个服务器实例上)并且我想锁定它,例如,它位于身份验证系统后面,我在会话中存储一个变量,说明用户已通过身份验证.您也许可以对 ASP.NET 和会话状态做同样的事情。取决于 Web 服务或任何提供 JSON 的服务是否可以访问该用户的会话状态。

    另一种选择是在服务器端创建某种散列密钥,并使用私钥播种。通过您的请求将其传递给也知道私钥的 JSON 服务。此解决方案的问题在于,确保 JSON 服务正确解密需要一些协调,并且人们仍然可以通过其他方式使用 JSON 服务。

    【讨论】:

      【解决方案2】:

      不是真的。

      如果您有一个已知的用户组,您可以通过发布 API 密钥等来阻止其他人访问您的服务。 但是您的有效用户将能够以他们喜欢的任何形式访问您的 JSON。

      您可以尝试混淆事物,但这可能不值得。

      而且由于您无法关闭它,您应该接受 Web 2.0 的混搭精神,并且如果有人访问您的服务并以您从未想过的创新方式呈现信息,您会很高兴。这应该会让您的服务更受欢迎。

      如果它最终以某种方式让您付出了实际收入,您必须依靠法律手段来阻止它,因为可以规避技术措施。

      【讨论】:

        猜你喜欢
        • 2011-02-04
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-03-22
        • 1970-01-01
        • 2012-09-16
        • 1970-01-01
        相关资源
        最近更新 更多