Как мы можем войти на веб-сервер, используя пароль для имени пользователя csrftoken и csrfmiddlewaretoken

Я пытаюсь войти на сервер, используя свою аутентификацию (имя пользователя и пароль) для разработки приложений с помощью swift 4. Однако моему серверу требуются csfrtoken и csrfmiddlewaretoken. Как я могу извлечь значение csrfmiddlewaretoken и сделать запрос Post для регистрации со всеми остальными аутентификациями?

Источник
  • 1
    Большинство мобильных приложений используют какой-либо API с ключом авторизации, а не традиционные системы на основе сеансов. Таким образом, отключение CSRF для вашего API довольно распространено.
  • 0
    К сожалению, я мало что могу сделать с сервером. Мне просто нужно войти на сервер, чтобы проанализировать файл json. Проблема заключается в csrfmiddlewaretoken, который мне нужно извлечь. Однако он находится в формате html, и его значение меняется после каждого сеанса.
  • 0
    Извините за шишку, но не могли бы вы принять мой ответ? Это решает описанную проблему и помогает мне здесь, в SO.
Codelisting
за 2 против

Не забывайте о комментариях тадманов. Если вы действительно хотите сделать это так, как вы описали в своем вопросе, вам нужно сделатьGET запрос, чтобы проанализироватьCSRF токен желаемой страницы входа. Токен должен находиться внутри формы входа.

Я добавил сценарий bash для извлечения токена изstackoverflow в качестве справки:

fkey=`curl https://stackoverflow.com/users/login? | grep -P -o '(?<=value\=\")\w*(?=\")'`   
echo $fkey  # got the token      

# make a post request with the freshly parsed token
curl -L -c cookies -d 'fkey='$fkey'&ssrc=head&email=MY_MAIL_ADDRESS&password=MY_PASSWORD&oauth_version=&oauth_server=&openid_username=&openid_identifier=' https://stackoverflow.com/users/login?ssrc=he$        

# finally browse the site with your obtained cookies
curl -b cookies https://stackoverflow.com/users/7727583/yannic-hamann

Удобно настроить метод аутентификации на основе токенов через Django REST framework . Но это вариант только в том случае, если вы разрабатываете свой собственныйAPI .

  • 0
    Не забывайте, что в сочетании с токеном CSRF вам необходимо захватить файлы cookie, связанные с сайтом, и отправить их обратно при последующих запросах.
  • 0
    Спасибо за ответ. Я добавил это в свой пример bash.
  • 0
    Используя запрос Get, я смог проанализировать csrftoken внутри формы входа
  • 0
    Хорошо, это единственный токен, который вам может понадобиться. Понюхайте POST пакет вашего запроса на вход, чтобы найти другие необходимые параметры.
Codelisting
Популярные категории
На заметку программисту