2015-08-10 1 views
1

ПроблемаКак убедиться, что только мое приложение может вставлять данные в БД?

Я разрабатываю back-end для приложения iOS. Одна из конечных точек позволяет приложению вставлять данные в базу данных, например. register-user.php.

Приложение вызывает API с определенными параметрами (например, имя пользователя и пароль), сервер выполняет определенные операции (например, соль и хэш-пароль), а затем сохраняет все в базе данных.

Вопрос

Как я могу убедиться, что только приложение может фактически вызвать API и вставить данные в базу данных?

Я просмотрел сертификаты SSL и OAuth2, но они, похоже, не применяются здесь (если только я их не понял).

+0

Вы можете зашифровать трафик и приложение, но в конечном счете, если кто-то хочет взломать ваше приложение и использовать API, он, вероятно, будет. (что также означает, что любые секретные ключи, которые у вас есть в вашем приложении, будут известны) –

+0

Затем передайте ключ, известный только приложению, в каждом вызове api, который должен быть проверен перед выполнением. – DLastCodeBender

ответ

0

Пропустите некоторый токен или введите auth/pwd в api. Не пароль пользователя, другой пароль, который вы храните в своем приложении. Также необходим HTTPS, чтобы избежать обнюхивания.

Это тестовый вопрос? Вы второй человек, который спрашивает об этом, и вы оба, похоже, не любите TLS/SSL по какой-то неизвестной причине.

+0

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

+0

Я понимаю ваши опасения по поводу жесткого кодирования токена. Однако это не имеет никакого отношения к SSL/TLS. – Voro

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