Можно ли точно затенять веб-сайт с отслеживанием состояния?

Мне нужно устранить ошибку, которая появляется только в производственной среде, и я надеюсь использовать метод https://goreplay.org/shadowing.html . Теоретически все это звучит потрясающе, но, подумав об этом, я думаю, что эта попытка потерпит неудачу.

В рассматриваемом приложении используются пользовательские сеансы, токены CSRF и т. Д. Разве это не приведет к сбою воспроизведения? Сеансы - это токены CSRF, специально разработанные для того, чтобы то, что я пытаюсь сделать, не удалось.

Например, предположим, что я воспроизводю реальный трафик, предназначенный для сервера A, на сервер B:

  • Request1A: POST логин и пользователь = тест и пароль = пройти
  • Request1B: вход в систему POST &user=test&password=pass
  • Response1A: SESSION=1234 (генерируется случайным образом)
  • Response1B: SESSION=9876 (генерируется случайным образом)
  • Request2A: ПОЛУЧИТЬ COOKIE:SESSION=1234
  • Request2B: GET COOKIE:SESSION=1234 (воспроизводятся только запросы, поэтому он не знает, что он должен использовать сеанс 9876 во время воспроизведения - поэтому он терпит неудачу)

Проблема в том, что с приложением с отслеживанием состояния это улица с двусторонним движением, не так ли? Следующий запрос зависит от предыдущего ответа, я не могу просто воспроизвести его и ожидать, что он сработает.

Означает ли это, что методы теневого копирования применимы только к HTTP API без сохранения состояния? - в статье ничего не говорится о таком ограничении. Или я все это совершенно не понимаю?

Если я правильно понимаю, есть ли уловка, чтобы заставить эту работу работать? Или это задумано как невозможное из-за тех самых мер безопасности, которые делают это невозможным?

0 ответов

Другие вопросы по тегам