Безопасная передача данных между iOS — & gt; php — & gt; MYSQL

В основном у меня есть приложение для iOS, которое отправляет запрос POST в php-файл на моем веб-сайте, содержащий его местоположение, а затем php-файл подключает / отправляет его в базу данных mySQL и наоборот. Все работает нормально и т. Д., Но я действительно хочу, чтобы никто не смог заставить какой-то фиктивный скрипт отправить запрос POST в мой php-файл и проникнуть в базу данных.

Моей первой мыслью было иметь какой-то «ключ», который также будет послан, чтобы проверить, соответствует ли он ключу в php-файле. Я мог бы быть что-то вроде этого https://www.grc.com/passwords.htm. В любом случае, я волнуюсь, что это не так безопасно (или эффективно), как хотелось бы. Человек, просматривающий мой код для принятия в App Store, увидит его, верно?

Извините, если это глупый вопрос, но как лучше всего гарантировать, что только я могу отправлять / получать данные из базы данных mySQL (и, следовательно, файла PHP)?

Спасибо!

0

Решение

Суть вопроса, кажется, заключается в «проникновении в базу данных».

Избежать этого можно никогда выдача созданных пользователем команд в БД. Перехватывайте все запросы пользователей, анализируйте, проверяйте и извлекайте информацию. Если все хорошо ваш Код делает запрос к БД с санированными параметрами.

SSL защитит данные в пути. Вам также необходимо защищаться от атакующего, который создает запрос на атаку.

0

Другие решения

• Отправить его SSL

• Воплощать в жизнь Закрепление SSL в вашем приложении

• При желании можно хешировать все или части ваших параметров данных / запросов и т. Д. С помощью соли и передавать этот хеш вместе с остальными. На сервере хэш / соль параметры / данные и т. Д. И проверьте соль соль. Им придется обойти ssl, ваше закрепление, а затем RE ваше приложение, чтобы извлечь подход, который вы использовали для применения вашей соли, а также самой соли. пример здесь

• Что касается php / server, то вы захотите очистить все, что происходит в mysql. пример

Это «начало».

0

Jajaja «Извините, если это глупый вопрос». Там никогда не бывает глупый вопрос, если у вас нет желания учиться.

У меня также был такой вопрос, и это правда, что вы хотите защитить данные, которыми вы манипулируете, потому что это очень важно.
Вы должны увидеть как клиентскую сторону, так и сервер.

Например, на стороне клиента:

1) Вы отправляете данные на сервер, чтобы они не были разборчивыми?

2) Вы используете https?

Или на сервере:

1) Способен ли ваш сервер распознавать, когда данные поступают надежно?

2) Используете ли вы какой-либо алгоритм шифрования для ваших данных? клиент шифрует и сервер расшифровывает или наоборот?

Не всегда, потому что они используют ключ, всегда будет в безопасности. Я надеюсь, что это работает для вас и извинения за мой английский 🙂

0
По вопросам рекламы [email protected]