我在 iriscouch CouchDB 上启用了 JSONP,这样我就可以向我的 View 发出 ajax 请求。
这意味着任何人都可以向我的 CouchDB View 发出 ajax 请求。
有什么办法可以防止这种情况发生吗?
如果没有,那么有没有办法限制对 View 的访问(关闭 JSONP),以便只有我的应用程序可以查看它(使用代理)?
最佳答案
跨域功能仍然很困难。我不认为 JSONP 允许经过身份验证的请求,因此您对 JSONP 的选择是在完全公共(public)数据和完全私有(private)数据之间。
(顺便说一句,如果您担心隐私,请注意您的敌人或脚本小子或任何可以简单地阅读页面源并使用 curl
查询您的 View 的人。)
跨域安全的正确解决方案是跨对象资源共享 (CORS)。有一个CouchDB CORS patch .顺便说一句,Iris Couch(我工作的地方)确实非正式地支持这个补丁,如果你联系他们就会激活它。
如果您使用代理,好处是您拥有巨大的灵 active 和对安全性的控制。 (显然,缺点是现在您必须维护一个新服务器,并且您还必须警惕有人在您的安全策略中戳了一个您没有意识到的漏洞。)
关于couchdb - 启用 JSONP 时有什么方法可以限制对 CouchDB View 的访问?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6688839/