2011-10-04 12 views
5

Mam stronę internetową ustawioną na konkretnej domenie, która jest całkowicie oddzielona od mojego URL-a couchdb poprzez przepisywanie i hosty wirtualne, i doszedłem do punktu, w którym muszę dodać pewne uwierzytelnienie użytkownika za pomocą _sessions API, ale Obawiam się, że nie może tego zrobić z przepisuje:uwierzytelnianie interfejsu publicznego couchdb przez przepisanie

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

daje mi:

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

który jest do zaakceptowania, ale teraz zastanawiam się jak bym uzyskać autoryzację do pracy z sesji moja domena bez ujawniania adresu URL couchdb, a także sessi on wydaje się być powiązany z domeną, więc jeśli zaloguję się za pośrednictwem strony couchdb.example.com, nie będzie działało, gdy używam mywebsite.com jako interfejsu publicznego?

Dzięki

PS. Właśnie znalazłem this post, gdzie jest alternatywa, wyłączając secure_rewrites na pliku konfiguracyjnym httpd, który wydaje się działać, chociaż zastanawiałem się, że być może nie jest to dobre podejście i czy jest coś innego, co jest idealne dla tego rodzaju problemu.

Odpowiedz

6

Polecam ustawić secure_rewrites=false i nie martw się o to.

Mieliśmy wspaniałą dyskusję na temat CouchDB rewrites and security na forum Iris Couch. Zobacz także mój post później o using Audit CouchDB. Oto najważniejsze cechy:

  • Opcja secure_rewrites nie jest ostatecznym źródłem bezpieczeństwa dla danych. W najlepszym wypadku jest to jedna warstwa w wielowarstwowym rozwiązaniu.
  • Ostatecznym źródłem bezpieczeństwa jest obiekt _security w bazie danych. To jest miejsce, w którym należy skupić swoją uwagę:
  • Narzędzie Audit CouchDB skanuje każdy szczegół dotyczący twojej kanapy i informuje, czy są tam jakieś czerwone flagi. Jest on zaimplementowany w JavaScript, więc jeśli masz NodeJS, możesz go uruchomić; lub po prostu czytanie kodu źródłowego daje wyobrażenie o tym, czego szuka.
+0

wow, dziękuję Jason, to czuje się naprawdę dobrze mieć taką opinię. jesteś doceniony. Zdecydowanie skorzystam z tego, również, gratuluję aud_couchdb, właśnie zainstalowałem tutaj i jest to naprawdę przydatne. stanie się teraz częścią mojego procesu rozwoju. :) cheers – zanona

+1

Aby ustawić to przez curl: curl -XPUT "$ couch/_config/httpd/secure_rewrites" -d '"false" " – Motin

0

Jeśli korzystasz z vhost, wówczas obsługa vhost jest dostępna w głównym katalogu vhost bez żadnych reguł przepisywania (domyślnie).

patrz rozdział [httpd] z default.ini:

vhost_global_handlers = _utils, _uuids, _session, _oauth, _users 
Powiązane problemy