В основном у меня есть приложение для iOS, которое отправляет запрос POST в php-файл на моем веб-сайте, содержащий его местоположение, а затем php-файл подключает / отправляет его в базу данных mySQL и наоборот. Все работает нормально и т. Д., Но я действительно хочу, чтобы никто не смог заставить какой-то фиктивный скрипт отправить запрос POST в мой php-файл и проникнуть в базу данных.
Моей первой мыслью было иметь какой-то «ключ», который также будет послан, чтобы проверить, соответствует ли он ключу в php-файле. Я мог бы быть что-то вроде этого https://www.grc.com/passwords.htm. В любом случае, я волнуюсь, что это не так безопасно (или эффективно), как хотелось бы. Человек, просматривающий мой код для принятия в App Store, увидит его, верно?
Извините, если это глупый вопрос, но как лучше всего гарантировать, что только я могу отправлять / получать данные из базы данных mySQL (и, следовательно, файла PHP)?
Спасибо!
Суть вопроса, кажется, заключается в «проникновении в базу данных».
Избежать этого можно никогда выдача созданных пользователем команд в БД. Перехватывайте все запросы пользователей, анализируйте, проверяйте и извлекайте информацию. Если все хорошо ваш Код делает запрос к БД с санированными параметрами.
SSL защитит данные в пути. Вам также необходимо защищаться от атакующего, который создает запрос на атаку.
• Отправить его SSL
• Воплощать в жизнь Закрепление SSL в вашем приложении
• При желании можно хешировать все или части ваших параметров данных / запросов и т. Д. С помощью соли и передавать этот хеш вместе с остальными. На сервере хэш / соль параметры / данные и т. Д. И проверьте соль соль. Им придется обойти ssl, ваше закрепление, а затем RE ваше приложение, чтобы извлечь подход, который вы использовали для применения вашей соли, а также самой соли. пример здесь
• Что касается php / server, то вы захотите очистить все, что происходит в mysql. пример
Это «начало».
Jajaja «Извините, если это глупый вопрос». Там никогда не бывает глупый вопрос, если у вас нет желания учиться.
У меня также был такой вопрос, и это правда, что вы хотите защитить данные, которыми вы манипулируете, потому что это очень важно.
Вы должны увидеть как клиентскую сторону, так и сервер.
Например, на стороне клиента:
1) Вы отправляете данные на сервер, чтобы они не были разборчивыми?
2) Вы используете https?
Или на сервере:
1) Способен ли ваш сервер распознавать, когда данные поступают надежно?
2) Используете ли вы какой-либо алгоритм шифрования для ваших данных? клиент шифрует и сервер расшифровывает или наоборот?
Не всегда, потому что они используют ключ, всегда будет в безопасности. Я надеюсь, что это работает для вас и извинения за мой английский 🙂