アクセス制御

時間がなかったのでメモだけ。

mod_proxy で以下を禁止する。

  1. GET ^/{db}/[a-zA-Z0-9]+$ を禁止する (ドキュメントの取得の禁止
  2. 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:それは何?というのは抜きで