如何防止他人访问我的网络服务?

时间:2012-01-19 12:56:29

标签: web-services security

我正在创建一个PhoneGap解决方案,为了从我的网站获取数据,我们正在使用jsonp

为了创建这些数据已经付出了许多昂贵的工作,我只希望我自己的网站和拥有应用程序的人能够获取数据。

如何阻止其他人获取数据?

3 个答案:

答案 0 :(得分:1)

您要做的是使用经过相互身份验证的SSL,以便您的服务器只接受来自您应用的传入连接,而您的应用只会与您的服务器进行通信。

这是高级方法。创建自签名服务器SSL证书并在Web服务器上部署。然后创建一个自签名客户端,并将其作为资源部署在您的应用程序中。将服务器配置为要求客户端SSL身份验证,并仅接受您生成的客户端证书。配置客户端使用该客户端证书来标识自己,并且只接受您在服务器上安装的那个服务器端证书。

如果您的应用以外的某人/某些人尝试连接到您的服务器,则不会创建SSL连接,因为服务器将拒绝未提供您的应用中包含的客户端证书的传入SSL连接。 / p>

答案 1 :(得分:0)

第一步是密码保护jsonp网址以及您有内容的任何其他网址。 第二步也是使用https来避免那些嗅探器抓取你的任何数据。

认为你在这里完成,似乎没有任何其他网站那么难吗?

答案 2 :(得分:0)

什么样的应用?

JSON意味着javascript,意味着HTML应用程序 - 在这种情况下,您应该建立身份验证和会话,然后使用会话cookie来验证后续的ajax调用。

如果它是部署在客户端上的应用程序(即java),那么使用编译到应用程序中的静态nonce并使用每个请求发送请求参数的salted哈希以验证请求的来源可能就足够了。 / p>

但如果确实有人确定其反编译和反向工程验证并不太难。

两者都需要一些智能服务器。

  

你如何密码保护jsonp网址?

ERK!