💡 Инструкция: Выберите один ответ из пяти. На 30 вопросов отведено 85 минут. В каждом вопросе верен только один вариант; близкие ответы различаются механизмом, порядком выполнения, областью действия или эксплуатационной границей. После завершения вы увидите общий результат, результаты по 6 тематическим шкалам и подробные объяснения.
Вопрос 10 из 30
Пользовательские заголовки копируются в следующий домен при redirect. Какой вывод был бы слишком сильным?
Чувствительные заголовки нельзя безусловно переносить на другой origin; политика перенаправлений должна ограничивать доверенные адреса.
Заголовки Authorization, cookies, ключи API и поля секретов редактируют до логирования; удаление после записи уже не устраняет утечку.
Заголовок строится как "Bearer <token>", но сам токен нельзя выводить в verbose, transcript или объект ошибки.
Клиент должен разобрать обе допустимые формы, ограничить ожидание общим deadline и не повторять запросы, которые нельзя безопасно воспроизвести.
Нужно ограничить scheme, host, port и redirect, защищаясь от SSRF к localhost, metadata endpoints и внутренним сетям.
Вопрос 16 из 30
429 и 503 обрабатываются повтором. Какое объяснение не зависит от случайностей окружения?
PowerShell 429 и 503 обрабатываются повтором Копировать
foreach($attempt in 1..4){
try { return Invoke-RestMethod -Uri $uri -ErrorAction Stop }
catch {
$status = [int]$_.Exception.Response.StatusCode
if($status -notin 429,503 -or $attempt -eq 4){ throw }
$retryAfter = $_.Exception.Response.Headers.RetryAfter.Delta.TotalSeconds
Start-Sleep -Seconds ([math]::Max($retryAfter,[math]::Pow(2,$attempt)))
}
}
Повтор допустим с Retry-After, backoff, jitter и общим пределом; 429/503 не означают бесконечную безопасную попытку.
HTTP-статус — часть контракта, но клиент также валидирует схему и доменный статус, не считая любой 2xx полноценным успехом.
Тайм-аут не показывает, принял ли сервер запрос; повтор способен создать дубль, поэтому нужен idempotency key или проверка результата.
Клиент должен разобрать обе допустимые формы, ограничить ожидание общим deadline и не повторять запросы, которые нельзя безопасно воспроизвести.
Нужно один раз обновить credential/token при доказанном истечении; бесконечные повторы создают блокировки и скрывают неверные права.
Вопрос 21 из 30
Клиент падает только на части ответов. Как исправить причину, а не только симптом?
PowerShell Клиент падает только на части ответов Копировать
$r=Invoke-WebRequest $uri -SkipHttpErrorCheck
[pscustomobject]@{Status=$r.StatusCode;Type=$r.Headers["Content-Type"];Length=$r.RawContentLength}
Разделяют DNS/TLS/server time, объём JSON, время десериализации и число страниц; одна общая длительность не указывает узкое место.
HTTP-статус — часть контракта, но клиент также валидирует схему и доменный статус, не считая любой 2xx полноценным успехом.
Тест имитирует тайм-аут после приёма сервером и проверяет idempotency key, а не только сетевой отказ до отправки.
Сравнивают исходный DTO, Depth и результат round-trip; проблема сериализации отделяется от ответа сервера.
Сохраняют редактированные status, headers, размер и схему тела; затем воспроизводят минимальный JSON, не записывая токены и персональные данные.
Вопрос 30 из 30
Секрет хранится в JSON-конфигурации рядом со сценарием. На каком правиле основан результат?
Нужно ограничить scheme, host, port и redirect, защищаясь от SSRF к localhost, metadata endpoints и внутренним сетям.
Заголовки Authorization, cookies, ключи API и поля секретов редактируют до логирования; удаление после записи уже не устраняет утечку.
Используют SecretManagement, managed identity или защищённое хранилище с ротацией и минимальными правами.
Недоверенные данные валидируют по схеме и передают типизированным API; Invoke-Expression и неконтролируемые пути недопустимы.
Сохраняют редактированные status, headers, размер и схему тела; затем воспроизводят минимальный JSON, не записывая токены и персональные данные.