Бета · редакция 2026.10-beta1 · MCP 2026-07-28
Проверка входов и полномочий
L40 · MCP 2026-07-28 · открытая бета · редакция 2026.10-beta1
Я проверяю вход на нескольких уровнях: размер тела, глубину JSON, schema, principal и бизнес-ограничения. Это дешевле, чем пытаться безопасно выполнить любой присланный объект. Проверка только в интерфейсе не защищает API.
Предварительно: L07 · L08 · L26
Как я это использую
Отклоняйте неизвестные поля там, где контракт закрыт, не приводите строку false к истине и не считайте bool целым count. Проверяйте владение taskId, курсором и состоянием MRTR. Для внешних URL применяйте сетевую политику. Ошибки должны быть полезными, но без stack trace, SQL и credentials.
Разбираем конкретный контракт
Это учебный fixture: поля с доменом .example и идентификаторы вымышлены. Если показан фрагмент, его нужно поместить в соответствующий envelope выбранного профиля.
{
"limits": {
"bodyBytes": 32768,
"jsonDepth": 32
},
"reject": [
"unknown fields",
"cross-tenant object",
"expired state",
"wrong scalar type"
],
"executeSubmittedCode": false
}
Лаборатория · L40
Измените условия, проверьте результат и разберите ошибку. Все адреса и данные учебные.
Что легко сломать
Лаборатории курса используют ограниченный JSON и детерминированные проверки. Здесь нет eval, shell или server-side fetch по пользовательскому URL. Попробуйте неправильные типы, слишком глубокую структуру и чужой идентификатор: ожидаем контролируемый отказ, а не 500.
Практика и самопроверка
Найти обход доступа, опасный путь и чрезмерный результат. Успех: права проверяются при операции, а не по названию инструмента.
Я советую сначала предсказать результат, затем изменить один параметр в лаборатории и объяснить разницу. Сохраните небольшой fixture с нормальным и ошибочным случаем для своего проекта. Тренажёр открыт без регистрации; для сохранения ответов на тесты и завершения урока войдите в аккаунт.
В конце страницы — три вопроса. После правильных ответов можно завершить урок; ошибка в следующей тренировке не стирает уже полученное подтверждение этой редакции теста.
На что я опирался
Профиль и ссылки проверены 15 октября 2026. Core, deprecated compatibility и extensions в этом курсе помечены отдельно. Примеры объясняют выбранные сценарии; для реализации сверяйте нормативные MUST/SHOULD и schema соответствующей версии.
Проверка знаний
Читайте свободно. Войдите, чтобы отвечать и сохранять прогресс.