У меня есть API, когда я пытаюсь получить к нему доступ через веб-приложение, я делаю запросы ajax get и post.
Поскольку я новичок в этом, мне интересно, какие проблемы безопасности связаны с типом контента.
Прямо сейчас я знаю два типа контента, которые я могу опубликовать как:
URL-адрес с кодировкой Base64.
JSON
Если я передаю данные как закодированный URL-адрес, данные появятся в строке запроса.
Даже если закодировать Base64, разве это не будет плохим способом передачи конфиденциальной информации?
Я прочитал несколько статей, и в большинстве из них говорилось, что JSON или URL-адрес не имеют большого значения с точки зрения безопасности.
Каковы нарушения безопасности, о которых я должен беспокоиться, глядя на тип контента, используемый для передачи данных между приложением и API?
Считайте кодировку / декодирование base64 в значительной степени простым текстом. И то, что вы что-то декодируете / кодируете base64, не означает, что вам нужно передать это через строку запроса. Вы все еще можете отправить его, как и json.
Строки в кодировке Base64 можно легко декодировать, если вы хотите защитить данные, используйте какой-нибудь криптографический инструмент для кодирования данных перед передачей.
@Patrick Roberts Тип контента - application / x-www-form-urlencoded, я проверил с помощью инструментов разработчика браузера, и закодированные данные отображаются в URL-адресе, я подумал, что, используя базовую кодировку Base64, было бы очень легко просто декодировать данные с url !!? :)
Похоже, это X / Y Проблема. Чего вы пытаетесь достичь? Зачем тебе это необходимость?
@FrankerZ Привет, это может быть вопрос типа X / Y; я изучаю php путем декодирования кода приложения с открытым исходным кодом. Здесь они использовали application / x-www-form-urlencoded для отправки данных в API. я учусь, мой вопрос, разве это не угроза безопасности !! Я прочитал несколько статей, и везде написано; Отправка в формате JSON или в строке запроса не сильно влияет на безопасность, это совсем другое дело !! Поэтому я обратился к stackoverflow, надеясь, что меня укажут в правильном направлении :)



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Base64Encode/Decode - это нет, разработанный для encrypt & transfer data securely. Можно использовать Base64 для передачи двоичных данных / строка, содержащая специальные символы без, прерывает протокол или функцию как здесь упоминалось
В вашем случае вы должны использовать SSL для создания безопасного и зашифрованного соединения между server & client.
А также вы можете использовать метод RSA Encryption для шифрования ваших данных перед отправкой. (SSL использует этот алгоритм)
Когда вы подходите к API, возникает еще один момент - (Sniffing Security). Вы должны обеспечить уровень безопасности для защиты ваших данных от модификации на полпути. Здесь большинство разработчиков используют JWT Token Authentication. Путем аутентификации JWT вы можете определить, были ли данные изменены или нет.
Это очень распространенные советы по безопасности. Вы можете найти больше, выполнив поиск в Google по следующим ключевым словам.
JWT Token, RSA Encryption, SSl Certificate
Действительно ли данные находятся в URL-адресе или это просто данные в кодировке URL-адреса base64 в теле запроса POST?