2011-10-04 11 views
5

Tengo un sitio web configurado en un dominio específico que está completamente separado de mi url couchdb a través de reescrituras y hosts virtuales, y llegué a un punto en el que necesito agregar autenticación de usuario usando _sessions API pero me temo que no puedo hacerlo con reescrituras:autenticación de interfaz pública couchdb mediante reescrituras

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

me da:

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

que es aceptable, pero ahora me pregunto cómo iba a conseguir la autenticación de sesión a trabajar desde mi dominio sin exponer couchdb url, y también, el sessi on parece estar relacionado con el dominio, así que si inicio sesión a través de couchdb.example.com, ¿no funcionará cuando use mywebsite.com como interfaz pública?

Gracias

PS. Acabo de encontrar this post donde hay una alternativa al deshabilitar secure_rewrites en el archivo de configuración httpd, que parece funcionar, aunque, me preguntaba que tal vez podría no ser un buen enfoque y si hay algo más que es ideal para este tipo de problema

Respuesta

6

Recomiendo establecer secure_rewrites=false y no se preocupe.

Tuvimos una gran discusión sobre CouchDB rewrites and security en el foro de Iris Couch. También vea mi publicación más tarde acerca de using Audit CouchDB. Estos son los aspectos más destacados:

  • La opción secure_rewrites no es la máxima fuente de seguridad para sus datos. En el mejor de los casos, es una capa en una solución multicapa
  • La fuente de seguridad máxima es el objeto _security en la base de datos. Así que ahí es donde debe centrar su atención
  • La herramienta Audit CouchDB escanea cada detalle de su sofá y le indicará si hay alguna alerta roja. Está implementado en Javascript, por lo que si tiene NodeJS, puede ejecutarlo; o simplemente leer el código fuente te da una idea de lo que está buscando.
+0

wow, muchas gracias Jason, se siente muy bien tener esa retroalimentación. eres apreciado Definitivamente lo usaré luego, también, felicidades por audit_couchdb, acabo de instalar aquí y es realmente útil. se convertirá en parte de mi proceso de desarrollo ahora. :) aplausos – zanona

+1

Para configurar esto a través de curl: curl -XPUT "$ couch/_config/httpd/secure_rewrites" -d '"false"' – Motin

0

Si está utilizando vhost, el controlador /_session está disponible en la raíz de vhost sin ninguna regla de reescritura (de forma predeterminada).

están en la sección de [httpd]default.ini:

vhost_global_handlers = _utils, _uuids, _session, _oauth, _users 
Cuestiones relacionadas