Веб-службы RESTful - Безопасность
Поскольку веб-службы RESTful работают с URL-путями HTTP, очень важно защитить веб-службу RESTful так же, как и веб-сайт.
Ниже приведены лучшие практики, которых следует придерживаться при разработке веб-службы RESTful.
Validation- Проверить все входные данные на сервере. Защитите свой сервер от атак SQL или NoSQL-инъекций.
Session Based Authentication - Используйте аутентификацию на основе сеанса для аутентификации пользователя всякий раз, когда делается запрос к методу веб-службы.
No Sensitive Data in the URL - Никогда не используйте имя пользователя, пароль или токен сеанса в URL-адресе, эти значения должны быть переданы в веб-службу через метод POST.
Restriction on Method Execution- Разрешить ограниченное использование таких методов, как GET, POST и DELETE. Метод GET не должен удалять данные.
Validate Malformed XML/JSON - Проверить правильность ввода, переданного в метод веб-службы.
Throw generic Error Messages - Метод веб-службы должен использовать сообщения об ошибках HTTP, например 403, для отображения запрета доступа и т. Д.
HTTP-код
Sr.No. | HTTP-код и описание |
---|---|
1 |
200 OK - показывает успех. |
2 |
201 CREATED- когда ресурс успешно создан с помощью запроса POST или PUT. Возвращает ссылку на вновь созданный ресурс, используя заголовок местоположения. |
3 |
204 NO CONTENT- когда тело ответа пусто. Например, запрос DELETE. |
4 |
304 NOT MODIFIED- используется для уменьшения использования полосы пропускания сети в случае условных запросов GET. Тело ответа должно быть пустым. Заголовки должны иметь дату, местоположение и т. Д. |
5 |
400 BAD REQUEST- указывает, что предоставлен неверный ввод. Например, ошибка проверки, недостающие данные. |
6 |
401 UNAUTHORIZED - указывает, что пользователь использует недопустимый или неправильный токен аутентификации. |
7 |
403 FORBIDDEN- заявляет, что пользователь не имеет доступа к используемому методу. Например, Удалить доступ без прав администратора. |
8 |
404 NOT FOUND - заявляет, что метод недоступен. |
9 |
409 CONFLICT- констатирует конфликтную ситуацию при выполнении метода. Например, добавление повторяющейся записи. |
10 |
500 INTERNAL SERVER ERROR - указывает, что сервер вызвал какое-то исключение при выполнении метода. |