我正在创建一个PhoneGap解决方案,为了从我的网站获取数据,我们正在使用jsonp
。
为了创建这些数据已经付出了许多昂贵的工作,我只希望我自己的网站和拥有应用程序的人能够获取数据。
如何阻止其他人获取数据?
答案 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!