@Mercury13
Программист на «си с крестами» и не только

Как работает защита от CSRF в новом Jenkins?

Клиент написан на Си++ (Qt, cURL) и действует примерно так.

1. Идёт на
http://localhost:8080/crumbIssuer/api/xml
2. Разбирает XML и получает строчку
Jenkins-Crumb: 3de9f4007192ee43a96f2f04a0c2a161a03b26d83259c1448c220a5cd43ee766

3. Идёт на
http://localhost:8080/job/project/buildWithParameters?token=build

с POST-формой (в ней записан номер версии в Mercurial) и вышеуказанным заголовком Jenkins-Crumb.

В таким виде работало почти год. И вот на этом третьем шаге, после обновления 2.176.1 → 2.190.2, и начало валиться с ошибкой «No valid crumb was included in the request».

Сервер Jetty, авторизация BASIC, никакого HTTPS нет.
  • Вопрос задан
  • 973 просмотра
Пригласить эксперта
Ответы на вопрос 1
@vitaly_il1
DevOps Consulting
Если Jenkins не открыт наружу, то можно просто запретить "Prevent Cross Site Request Forgery" чекбокс.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы