Поскольку веб-службы 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
ВНУТРЕННЯЯ ОШИБКА СЕРВЕРА — указывает, что при выполнении метода сервер выдал исключение.