couchdb - 启用 JSONP 时有什么方法可以限制对 CouchDB View 的访问?

标签 couchdb jsonp

我在 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/

相关文章:

javascript - 使用 Javascript 通过 XHR 访问 CouchDB

javascript - Map-Reduce 查询以计数标签

ssl - 使用 SSL 运行 CouchDB 停止工作

javascript - Google Custom Search Engine 是如何解决 XSS 的?

javascript - 如何在没有 JQuery 的情况下从 Javascript 发出 JSONP 请求?

javascript - 将 json 正确绑定(bind)到 Kendo DropDownList

android - CouchDB 复制到 Android ...适用于 Android 应用程序、Android 浏览器还是?

node.js - 如何从 Node.js 在 MongoDB 和 CouchDB 中存储富文本数据

couchdb - 复制不适用于包含音频/视频文件的 CouchDB 数据库

json - Json 和 Jsonp 有什么区别?