2015-12-10 2 views
0

Я планирую сделать приложение для Android, которое отправляет данные пользователя на веб-сервер и временно хранит его в базе данных. Теперь я никогда не работал с базами данных или веб-серверами раньше, но, прочитав кучу учебников и несколько дней взлома, мне удалось получить сервер node.js с mongodb и запустить на платформе openhift.Безопасное хранение данных на веб-сервере

Прямо сейчас любой пользователь может взаимодействовать с базой данных, просто отправив запрос GET или даже просто подтянув URL-адрес в браузере. Есть ли способ предотвратить это, если произойдет, или мне придется, возможно, зашифровать данные перед хранением?

+0

Какова цель вашего заявления? Является ли каждый фрагмент данных конкретным для пользователя, который владеет им? Если проблема состоит в том, что любой может видеть какие-либо данные, это звучит так, как будто у вас должны быть аутентифицированные запросы (например, заставить пользователя войти в систему с именем пользователя и паролем), и сервер должен проверить учетные данные до того, как будут возвращены какие-либо данные. – apsillers

+0

@apsillers Одна из функций приложения позволит пользователям увидеть, сколько других людей используют приложение в этой области, поэтому я планировал, чтобы каждое устройство отправило свое местоположение на сервер и отправило сервер обратно список пользователей, которые поблизости. – Waves

+0

@Waves, если вы решите использовать API-интерфейсы геолокации HTML5, будущие версии Chrome потребуют использования HTTPS –

ответ

1

Вы описываете типичное веб-приложение, использующее API REST. Чтобы обеспечить его, выполните две вещи:

  1. Разверните свои API-интерфейсы REST (или весь сайт) с помощью HTTPS вместо HTTP. Это обеспечивает сквозное шифрование, поэтому ваши конфиденциальные данные не могут быть просмотрены во время транзита.

  2. Добавить механизм аутентификации и авторизации, чтобы только аутентифицированные конечные точки могли обращаться к вашим API-интерфейсам REST.

+0

Поскольку вы используете Node.js, вы можете рассмотреть http://passportjs.org для аутентификации. –

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