Как защитить свой API от злоупотреблений - DRF & React
Мне очень трудно понять концепцию защиты конечной точки API.
Как защитить его от злоупотреблений, если он раскрывается с помощью React?
Я понимаю, если бы пользователь входил в систему, то ему выдавался бы токен и т.д. Я понимаю. Но, допустим, есть фронт-энд, который не требует, чтобы кто-то входил в систему?
Они просто заполняют форму со своими данными, которые передаются через API, а затем сохраняются в БД.
Что мешает кому-то просто злоупотребить вашим API? Они могут просто написать скрипт и атаковать вашу конечную точку спамерскими данными?
Я просто не могу понять, как это защищено?
вы можете установить CORS-заголовки, разрешенные хосты, а также ограничитель скорости для защиты ваших API в Django.
Allowed hosts: Список строк, представляющих имена хостов/доменов, которые может обслуживать сайт Django. Это мера безопасности для предотвращения атак на заголовки HTTP Host, которые возможны даже при многих, казалось бы, безопасных конфигурациях веб-сервера.
заголовкиCORS: Cross-Origin Resource Sharing (CORS)
- это механизм, основанный на HTTP-заголовках, который позволяет серверу указать любые источники (домен, схема или порт), отличные от его собственных, с которых браузер должен разрешить загрузку ресурсов. Он используется для работы с клиентами браузеров.
Ограничение скорости: Ограничение скорости - это максимальное количество вызовов, которое вы хотите разрешить в определенный промежуток времени. Например, каждый неаутентифицированный пользователь может делать только 100 запросов в минуту.
Кроме того, если вы развертываете свое приложение в PaaS сервисе, то вы можете развернуть ваше приложение django как внутренний сервис, а ваше приложение react как внешний сервис. Тогда Django можно будет использовать не только внутри контейнеров, но и вне их.