Как передать скрытые параметры при перенаправлении маршрута? (С помощью POST ?)

#symfony #post

#symfony #Публикация

Вопрос:

Когда я выполняю перенаправление, я хочу передать скрытые параметры. Передача параметра в маршруте меня не удовлетворяет, потому что я хочу, чтобы информация была скрыта. Я думал сделать это с помощью POST, но я не знаю, как передать параметры POST в функции RedirectToRoute. Могу ли я это сделать?

Комментарии:

1. Нет параметров для перенаправления. И в следующий раз, когда у вас будет запущен браузер, нажмите F12, а затем перейдите на вкладку сеть. Затем спросите себя, как именно вы можете скрыть информацию даже от слегка осведомленного пользователя.

Ответ №1:

Вы не можете перенаправить запрос POST, потому что браузеру пришлось бы повторно отправлять данные POST, поэтому вы должны использовать forward как:

 return $this->redirectToRoute('name_of_route_to_redirect', ['max' => 10,...]);
  

Для получения дополнительной информации ознакомьтесь с документацией symfony controller

Вы можете отправить объект запроса внутри :

 return $this->redirectToRoute('route', [
    'request' => $request
], 307);
  

этот 307 гарантирует, что метод и тело не будут изменены
при перенаправлении запроса

Ответ №2:

Что вы могли бы сделать, так это сохранить ваши параметры в каком-нибудь файле / кэше памяти.

Вы перенаправляете без параметров, и в своем действии вы проверяете, есть ли у вас какие-либо параметры в кэше файла / памяти, и получаете их оттуда.

Я не знаю, хорошо ли это делать, но, похоже, это возможно.