В моем проекте Symfony я использую пользовательский пакет FOS.
В моем secutity.yml у меня есть это, чтобы использовать кодировщик bcrypt:
security:
# FOS UserBundle needles
encoders:
Symfony\Component\Security\Core\User\User: bcrypt
MyNamespace\MyBundle\Entity\User: bcrypt
FOS\UserBundle\Model\UserInterface: bcrypt
Я вызываю форму регистрации пользователя fos во встроенной форме следующим образом:
$builder
->add('contactPhone')
->add('contactMobilePhone')
->add('user', 'fos_user_registration', array(
'label' => false,
))
Например, он отображает следующее:
Но когда я отправляю форму, я вижу в браузере сетевой консоли, что мой пароль представлен в виде простого текста, и каждый может его использовать.
Поэтому я могу восстановить все данные моего запроса POST в браузере консоли:
my_form[user][email][email protected]
my_form[contactPhone]=0404040404
my_form[contactMobilePhone]=0606060606
my_form[user][username]=test
my_form[user][plainPassword][first]=test
// ввод первого пароля
my_form[user][plainPassword][second]=test
// проверка
my_form[save]
// отправить my_form[_token_consumer]=// не нужно его видеть
Вы могли бы понять, что это не обеспечено. Мне нужно закодировать пароль при отправке формы, чтобы никто не мог их увидеть.
Обратите внимание, что то же самое произошло, когда я вошел в систему с помощью формы входа пользователя FOSUserBundle.