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

edt*_*edt 5 jsonp couchdb

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

有什么方法可以防止这种情况吗?

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

Jas*_*ith 5

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

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

跨域安全的正确解决方案是跨对象资源共享(CORS).有一个CouchDB CORS补丁.顺便说一句,虹膜沙发(我工作的地方)非正式地支持这个补丁并激活它,如果你与他们联系.

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