2016-12-14 3 views
5

클라이언트 측에서 PouchDB를 사용하여 원격 서버에 액세스 할 때 따라야 할 최상의 보안 관행은 무엇입니까?PouchDB 보안

코드와 원격 서버와 https://pouchdb.com/getting-started.html 동기화의 예 :

var remoteCouch = 'http://user:[email protected]/todos'; 

이 문제는 아마 사용자들이 다운로드 할 수있는 파일로 일반 텍스트 암호를보고 싶지 않아한다 - 경우에도 해당 파일은 인증 된 사용자에게만 표시됩니다.

알려 주시기 바랍니다. 미리 감사드립니다.

답변

0

이것은 원격 서버에 따라 다릅니다. CouchDB 서버를 사용하는 경우 SSL (HTTPS)을 통해서만 통신하도록 구성 할 수 있습니다 (자세한 내용은 docs 참조).

CouchDB 서버를 인터넷에 직접 노출하고 싶지 않은 경우 역방향 프록시 (예 : mod_proxy 확장자와 SSL을 사용하는 Apache 서버.

+4

SSL을 사용하면 공격자가 자바 스크립트 소스에서 암호를 읽을 수 없습니다. –

1

모든 사이트 사용자는 자신의 CouchDB 사용자가 있어야합니다. @onno가 암시 하듯이 HTTPS와 사용자의 로그인 자격 증명을 사용하여 CouchDB에 액세스합니다. 클라이언트 측 JavaScript에서는 암호를 사용할 수 없습니다.

1

CouchDB의 모든 인증에 관한 내용은 really good article입니다.

로컬 호스트에서 HTTP를 사용하도록 구성된 CouchDB가있는 프로덕션 서버가 있지만 외부 요청은 stunnel을 통해 CouchDB로 리디렉션되어야합니다.

클라이언트에서 PouchDB를 사용하여 복제 된 로컬 db를 유지 관리합니다. HTTPS를 통해 CouchDB와의 통신을 설정하는 악수의 일환으로이 소프트웨어는 다른 서버에서 CouchDB 자격 증명을 얻습니다. 자격 증명은 클라이언트 측에 저장되지 않습니다.

pouchdb-authentication은 좋은 플러그인이지만 개인적으로 인증을 처리하는 것이 좋습니다.