Учебники

Веб-сервисы RESTful — Безопасность

Поскольку веб-службы RESTful работают с путями URL-адресов HTTP, очень важно защитить веб-службу RESTful так же, как защищен веб-сайт.

Ниже приведены рекомендации, которых следует придерживаться при разработке веб-службы RESTful.

Проверкапроверка всех входных данных на сервере. Защитите свой сервер от атак SQL или NoSQL.

Аутентификация на основе сеансов — используйте аутентификацию на основе сеансов для аутентификации пользователя при каждом обращении к методу веб-службы.

В URL нет конфиденциальных данных — Никогда не используйте имя пользователя, пароль или токен сеанса в URL, эти значения должны передаваться в веб-службу с помощью метода POST.

Ограничение на выполнение метода — разрешить ограниченное использование таких методов, как методы GET, POST и DELETE. Метод GET не должен быть в состоянии удалить данные.

Проверка неверного XML / JSON — проверка правильности ввода, переданного методу веб-службы.

Создавайте общие сообщения об ошибках. Метод веб-службы должен использовать сообщения об ошибках HTTP, например, 403, для отображения запрещенного доступа и т. Д.

1

200

ОК — показывает успех.

2

201

CREATED — когда ресурс успешно создан с использованием запроса POST или PUT. Возвращает ссылку на вновь созданный ресурс, используя заголовок местоположения.

3

204

NO CONTENT — когда тело ответа пусто. Например, запрос DELETE.

4

304

НЕ ИЗМЕНЕНО — используется для уменьшения использования пропускной способности сети в случае условных запросов GET. Тело ответа должно быть пустым. Заголовки должны иметь дату, местоположение и т. Д.

5

400

BAD REQUEST — указывает, что введен неверный ввод. Например, ошибка проверки, отсутствующие данные.

6

401

UNAUTHORIZED — указывает, что пользователь использует неверный или неправильный токен аутентификации.

7

403

ЗАПРЕЩЕНО — указывает, что у пользователя нет доступа к используемому методу. Например, Удалить доступ без прав администратора.

8

404

НЕ НАЙДЕН — заявляет, что метод недоступен.

9

409

CONFLICT — констатирует конфликтную ситуацию при выполнении метода. Например, добавление повторяющейся записи.

10

500

ВНУТРЕННЯЯ ОШИБКА СЕРВЕРА — указывает, что при выполнении метода сервер выдал исключение.