Abbiamo utilizzato CouchDB
in produzione, principalmente creando app in ambienti controllati. La maggior parte delle volte, utilizziamo una libreria di middleware per effettuare chiamate dirette su couchdb/cloudant
, evitando così le chiamate dirette (front-end JavaScript dirette su CouchDB/Cloudant
).CouchDB e Cloudant Security
Per motivi di sicurezza, è ovvio che per un database CouchDB autenticato: http://{username}:{password}@IPAddress:Port/DB
OR per cloudant: https://{username}:{password}@username.cloudant.com/DB
, Se la chiamata viene effettuata direttamente da JavaScript, strumenti nei browser Developer oggi permettono ad una persona di realizzare questo chiama e quindi ha accesso al tuo database interamente.
Gli allegati sono solitamente dolorosi quando vengono gestiti nel middleware. È vantaggioso che il cloudant gestisca la memorizzazione nella cache e la pubblicazione degli allegati direttamente sul front-end, evitando così il nostro middleware. Tuttavia, sul web e con un pubblico enorme, effettuare chiamate dirette al nostro ambiente cloudant è complicato.
Abbiamo iniziato con un account cloud remoto separato per tutti gli allegati in modo tale che uno inquisitive boy
non manomettere gli effettivi metadati o le informazioni dei nostri utenti. Quindi, l'unico account cloud che possono avere accesso è quello degli allegati poiché stiamo facendo chiamate JavaScript dirette al nostro database.
Domanda: Come possiamo trovare un modo in cui nascondiamo il nome utente e la password del nostro ambiente cloudant, consentendoci così di effettuare chiamate dirette JavaScript in modo sicuro su cloudant? La nostra infrastruttura è interamente nel cloud, quindi non abbiamo proxy e materiale con cui lavorare. Abbiamo sentito parlare di servizi di accorciamento dell'URL, CDN e.t.c. ma, non abbiamo trovato una soluzione davvero conclusiva.