2017-02-15 26 views
0

Метод HTTP GET будет передавать данные по URL-адресу, как в https://www.example.com/users?id=1. Если я использую HTTPS, соединение будет безопасным, но конфиденциальные данные в ссылке все равно будут регистрироваться на сервере, обрабатывая ссылку, запрошенную клиентом, и раскрывают секреты, которые будут впоследствии приобретены каким-то хакером.Как защитить метод REST GET?

OWASP recommends не хранит ничего на ссылках, так как он может быть зарегистрирован на веб-сервере.

Но REST использует GET для получения данных, так как «Чтение» будет выполняться в операции CRUD.

Вопрос в том, Как я могу сделать безопасный вызов GET в REST?


EDIT: Один из примеров: OWASP говорит НЕ включать API ключ на адрес URL, но так как все данные, передаваемые по запросу в GET помещается на URL, как бы я послать ключ API для сервер в другом, чтобы разрешить ответ GET от этого пользователя, так как я не могу разместить его в самом URL-адресе?

OWASP не объясняет, как достичь этого.

+0

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

+0

Я имею в виду любые данные, которые, если регистрируются, будут скомпрометированы. Дело не в том, как защитить внутренние данные, передаваемые через GET, а в том, как безопасно использовать GET. – mFeinstein

+0

Что я понял. Итак, еще раз: какие данные? – DaSourcerer

ответ

2

EDIT: Один пример: OWASP говорит, что НЕ включать ключ API в URL-адрес, но поскольку все данные, отправленные по запросу GET, помещаются в URL-адрес, как я могу отправить ключ API на сервер в другой, чтобы разрешить ответ GET от этого пользователя, так как я не могу разместить его в самом URL-адресе?

Вы ошибаетесь, что все данные должны быть указаны в URL-адресе. В HTTP-заголовках есть много вещей! Вместо ключа API в URL-адресе вы должны использовать заголовок Authorization.

+0

Я новичок для веб-программирования REST, все запросы AJAX, которые я видел на javascript javascript и jquery, передали все данные в URL-адресе GET для сервера. – mFeinstein

+0

@mFeinstein k хорошо теперь вы знаете, что искать. – Evert

+0

Да, спасибо большое! – mFeinstein