2013-12-24 3 views
4

Я экспериментирую с PouchDB и клиентским Javascript. Пример на сайте PouchDB отлично подходит для меня: http://pouchdb.com/getting-started.html. Мой вопрос: есть ли способ скрыть имя пользователя и пароль при подключении к удаленному серверу? Код в поле:Непонятное имя пользователя и пароль в PouchDB

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

Это все клиентское JS и доступно для просмотра в открытом доступе. Я в тупике, выясняя путь вокруг него.

+0

Возможно, вам будет лучше спросить [список рассылки PouchDB] (https://groups.google.com/forum/#!forum/pouchdb). В любом случае, имя пользователя и пароль здесь, вероятно, будут и учетной записи, принадлежащей пользователю, а не вам. Поэтому вы будете предлагать им ввести учетные данные и, возможно, запомнить их как-то (безопасно) –

ответ

2

Когда вы общаетесь между серверами, вы можете использовать SSL для обеспечения безопасности. Клиент и сервер устанавливают безопасное соединение перед отправкой любых данных о запросе (то есть имя файла, основные удостоверения подлинности и т. Д.).

Что касается жизни на стороне клиента, это скорее вопрос того, насколько вы безопасны. Поскольку все JavaScript, особенно так с PouchDB, вы должны согласиться на один из двух вещей

  1. Имея причудливый переключатель, который показывает вам меню или скрывающее меню

    В этом случае у вас есть главный экран все важные меню. Пользователь либо поставляет правильный пароль, который выводит их на этот экран, либо программа говорит «Ошибка неправильного имени пользователя или пароля». Но так как это все в JavaScript, любой, у кого достаточно знаний вашей системы, может сказать что-то вроде MyApp.User.isLoggedIn = function() { return true; };.

  2. шифровать, что вам нужно

    Если есть конфиденциальные данные на стороне клиента, вы можете попросить их поставить свой пароль и шифрование конфиденциальных данных, используя этот пароль. В зависимости от полезной нагрузки это может быть или не быть слишком интенсивным. Возможно, вам придется реализовать свои собственные сеансы в этом случае, чтобы вы не сохранили этот пароль или конфиденциальные данные в памяти. Тогда всем Еве нужно будет пойти на консоль JS и нажать console.log(MyApp.User.password);. Несмотря на то, что пароль хэширован и солен (или должен быть), Ева, вероятно, все еще имеет доступ к функции хэша и соли.

Удачи вам! Хотелось бы услышать, что вы придумали.

2

Если имя пользователя и пароль должны быть предоставлены пользователем, вы можете предоставить им приглашение для входа в систему и использовать безопасный CouchDB session cookie. Файл cookie защищен от несанкционированного доступа и будет удален при завершении сеанса браузера или его явно удалении.

Смежные вопросы