TGViewer
Анализ, коты, цветы и Катя Анализ, коты, цветы и Катя @analyticagain · 498 subscribers
Post #461 359
Тело у DELETE: риски разработки

Окей, решили, что у DELETE будет тело запроса. С чем мы, как разработчики, можем столкнуться?

1️⃣ Множественное удаление

1️⃣ Ваша ролевая модель должна предусматривать, что «можно удалить всё».

2️⃣ Нагрузка на БД. Нужно осмысленно формировать запросы и проводить нагрузочные тестирования.

3️⃣ Допустим, из 4 объектов удалились первые 2, а на 3-й не хватает прав. Что будете делать? Отдавать частичный успех (207)? Откатывать удаление? Или продолжать удалять дальше?

4️⃣ DELETE должен быть идемпотентным (по стандарту). Для вас критично, если это не так?

2️⃣ Удаление подресурсов

1️⃣ Здесь снова упираемся в права. У вас должны быть права не только на каталог, но и на его объекты и действия с ними. Бывают и такие тонкости: права на работу с объектами и каталогом есть, а на изменение конкретных связей — нет. Это не всегда очевидно до тестирования.

2️⃣ Все те же проблемы, что и при массовом удалении, если оно предусмотрено.

3️⃣ Удаление по условиям
1️⃣Удар по производительности: чем сложнее фильтр, тем тяжелее запрос.
2️⃣Есть простор для инъекций. Нужно реализовать «белый список» условий и операторов, плюс заморочиться с валидацией.

3️⃣Условия могут быть массовыми → добавляем к этому риски массового удаления.

4️⃣ Подпись операции
Здесь я совсем не эксперт, но отмечу из общей практики:

1️⃣ Возможность утечки. В заголовках (Authorization, Cookie/Set-Cookie, X-Api-Key, X-Signature) обычно можно скрыть данные настройками. А вот в теле запроса это уже на вас: или не логируете тело, или делаете белый список полей.

2️⃣ Потребуются настройки прокси, чтобы они понимали, как работать «с таким сюрпризом».

3️⃣ Если вы используете готовые фреймворки для возврата ошибок, убедитесь, что они не вернут всё тело запроса в ответ целиком.

Ну и помним что не все SDK и сервисы работают с телом запроса у DELETE.

Наглядно видно, что Подпись операции и Удаление по условиям несут больше всего уязвимостей по безопасности. И поскольку у них есть хорошие альтернативы, такие решения встречаются редко.

Ну а теперь у нас есть понимание: у DELETE тело может быть, но перед этим стоит семь раз подумать. Насколько это было полезно и занимательно отметь реакциями.

👍 - Да, больше таких постов
👀 - сложно и не понятно
👎🏼 - это уже давно всем известно\я могу посмотреть это в ИИ
🤡 - я читаю ради развлекательного контента, а не вот это все
  • 👍 16
  • 👎 1
More from @analyticagain
  1. Sep 24, 2026Посмотрите, какую картинку подготовил Андрей к занятию по OpenSpec. Милота неимоверная) Со…
  2. Sep 23, 2026Когда я вырасту создам свой брокер сообщений и назову его Упоротый кот. Причина инцидента?…
  3. Sep 22, 2026Без лишних слов: ко мне в команду ищут аналитика. Вакансия
  4. Sep 21, 2026OpenSpec: Понеслось От блога есть несомненный плюс он расширяет границы. Так, с подачи ком…
  5. Sep 18, 2026Обе стороны менторства Сегодня специально встала пораньше, чтобы подать заявку на программ…
  6. Aug 18, 2026Верните рутину Последнее время периодически ловлю уныние от работы: Много сложных, трудоём…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →