@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 нет.
  • Вопрос задан
  • 955 просмотров
Пригласить эксперта
Ответы на вопрос 1
@vitaly_il1
DevOps Consulting
Если Jenkins не открыт наружу, то можно просто запретить "Prevent Cross Site Request Forgery" чекбокс.
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы