アクセス制御
時間がなかったのでメモだけ。
mod_proxy で以下を禁止する。
- GET ^/{db}/[a-zA-Z0-9]+$ を禁止する (ドキュメントの取得の禁止
- GET ^/{db}/_design/[^/]+/_view/.+ を禁止する (ビューの取得の禁止
で代わりに_showと_listで同等のJSONを提供するfunctionを用意する。
adhoc ですけど、ひとまずこれで、CouchDBを使うような*1アプリケーションは大抵対応できます。
あと、セキュリティのところで思ったんですが、couchapp.json に、
{ "roles" : { "_admin" : ["user1", "user2"...] "_users" : ["user3", "user4"...] } }
と書いておけば、showなりlistなりのコントローラー関数から参照できるし、外部からHTTP PUTで編集(ユーザーの追加とか)もできるんじゃね、と思って、試してみたんですが、、、
できるっちゃできるけど、さすがにひどい解決策だよなぁ。。。
*1:それは何?というのは抜きで