2011-10-04 18 views
5

Yeniden yazımlar ve sanal konaklar aracılığıyla couchdb URL'mden tamamen ayrılmış belirli bir etki alanında ayarlanmış bir web sitem var ve _sessions API kullanarak bazı kullanıcı kimlik doğrulaması eklemem gereken bir noktaya geldim ama beni verirredaksiyonlar aracılığıyla couchdb ortak arabirim kimlik doğrulaması

{ 
    "from": "auth", 
    "to": "../../../_session" 
} 

: kabul edilebilir, ama şimdi merak ediyorum

{"error":"insecure_rewrite_rule","reason":"too many ../.. segments"} 

nasıl çalışmak oturum kimlik doğrulaması alacağı ı yeniden yazar ile bunu yapamaz korkuyorum Domaindb url, ve ayrıca, oturum açmadan etki alanım Ben couchdb.example.com üzerinden giriş kamu arayüz olarak mywebsite.com kullanırken o işe yaramaz eğer böyle devam etki ile ilişkili olduğu görünmektedir?

Teşekkür

PS. Sadece this post buldum httpd config dosyası üzerinde secure_rewrites devre dışı bırakarak bir alternatif var, ancak, belki de iyi bir yaklaşım olmayabilir ve eğer bu tür için ideal başka bir şey varsa merak ediyordum sorun

cevap

6

Ben secure_rewrites=false ayarlamak için tavsiye ve bu konuda endişelenmeyin.

Biz İris Couch forumda CouchDB rewrites and security hakkında harika bir tartışma vardı. Ayrıca daha sonra postam hakkında using Audit CouchDB. Bu özellikler:

  • secure_rewrites seçeneği, verileriniz için en önemli güvenlik kaynağı değildir. En iyi ihtimalle, bir çok-tabakalı çözeltisi
  • güvenlik nihai kaynağı veritabanında _security amacı, bir tabakadır. Yani bu dikkatinizi
  • Audit CouchDB aracı koltuğunuzdan hakkında her ayrıntıyı tarar ve kırmızı bayraklar mevcutsa o size söyleyecektir odaklanmalıdır yerdir. Javascript'te uygulanır, dolayısıyla eğer NodeJS'iniz varsa, onu çalıştırabilirsiniz; ya da sadece kaynak kodunu okumak size ne aradığına dair bir fikir verir.
+0

vay sayesinde:

bölüm default.ini ait [httpd] bakınız. takdir ettin. Kesinlikle daha sonra da, audit_couchdb için tebrikler, sadece burada yükledim ve gerçekten yararlıdır kullanacaktır. Şimdi benim gelişim sürecimin bir parçası olacak. :) cheers – zanona

+1

Kıvrılma yoluyla ayarlamak için: curl -XPUT "$ couch/_config/httpd/secure_rewrites" -d '"false"' – Motin

0

Eğer vhost kullanıyorsanız, /_session'dan daha fazla eylemci, herhangi bir yeniden yazma kuralları olmaksızın (varsayılan olarak) vhost kökünde kullanılabilir. Çok Jason, bu tür geribildirim olması gerçekten iyi hissettiriyor

vhost_global_handlers = _utils, _uuids, _session, _oauth, _users