Прежде всего, я НЕ эксперт по безопасности.Но так как вы царапаете некоторые основы ...
Во времена letsencrypt, нет никакого оправдания для незашифрованных соединений!(Действительно! Специально для формы входа ...).Это большая вещь, о которой Symfony не может позаботиться о вас.
Лучшая первая линия защиты - это зашифрованное соединение.Это должно помешать любому прослушивать соединение (и пароли отправляются через формы ...)
Защита пароля в виде открытого текста, когда он достигает вашего сервера и, наконец, Symfony и вашего контроллера, я должен сказать ..Если вы не доверяете серверу, вы не должны ничего доверять ему.
Если вы останетесь на стандартной территории с вашей регистрационной формой, у вас не должно возникнуть никаких проблем.В среднем, это «нестандартная безопасность», созданная разработчиками, не относящимися к безопасности (включая меня), которые создают риски безопасности.
Я буду немного высокомерен и предположу, что вы новичок (без обид.на все), и советую вам быть простым, следовать инструкциям и, таким образом, оставаться на безопасной стороне.Значения по умолчанию Symfony достаточно хороши для обычного безопасного варианта использования.
Кроме того, Symfony обычно должен собирать данные и управлять содержимым входа в систему, чтобы вы не могли его испортить.Прочтите , как создать форму для входа .(например, «волшебные» имена для полей входа в систему).
Возможно, существуют также учебные пособия по обработке регистрации пользователя и смены пароля.(Я бы предпочел доверять учебникам на странице Symfony, в среднем).Регистрация и смена пароля не защищены теми же механизмами, которые защищают вход в систему.
Вы также пишете:
Первый запрос будет содержать простой пароль без какого-либо шифрования, который будет передан из представления в контроллер.
Прежде всего: Нет. Никакие простые пароли не будут переданы из вида в контроллер.Я не хочу вдаваться в подробности, но ваше представление получает только те данные, которые вы явно предоставляете в своих контроллерах.Таким образом, он переносится из среды Symfony через несколько уровней сервисов, обеспечивающих безопасность и другие причудливые вещи *, в контроллер .Который затем может что-то делать, он должен также создать ответ - например, путем рендеринга представления - и затем вернуть ответ (Symfony снова протолкнет его через несколько уровней сервисов пользователю).
*) есливы устанавливаете пакеты / пакеты, которые могут добавлять прослушиватели событий, эти пакеты / пакеты могут теоретически перехватывать запросы, прежде чем сработает система безопасности. Так что не устанавливайте пакеты вслепую.