启用JSONP时,有何限制访问CouchDB视图的方法?

时间:2011-07-14 05:30:21

标签: couchdb jsonp

我在我的iriscouch CouchDB上启用了JSONP,因此我可以对我的视图发出ajax请求。 这意味着任何人都可以向我的CouchDB视图发出ajax请求。

有没有办法阻止这种情况?

如果没有,那么有没有办法限制对视图的访问(关闭JSONP),以便只有我的应用程序可以查看它(使用代理)?

1 个答案:

答案 0 :(得分:5)

跨域功能仍然很难。我不认为JSONP允许经过身份验证的请求,因此您对JSONP的选择是在完全公共数据和完全私有数据之间。

(顺便说一句,如果您担心隐私,请注意您的敌人或脚本小子或任何只能阅读页面来源并使用curl查询您的观点的人。)

跨域安全的正确解决方案是跨对象资源共享(CORS)。有一个CouchDB CORS patch。顺便说一下,Iris Couch(我工作的地方) 非正式地支持这个补丁,如果你联系他们会激活它。

如果您使用代理,那么您将获得巨大的灵活性和对安全性的控制。 (显然,缺点是现在你必须维护一台新服务器,而且你必须保持警惕,有人在你的安全策略中挖了一个你没有意识到的漏洞。)