Несколько дней назад я просмотрел приложение yii2 и отметил, что имя пользователя и пароли из формы входа публикуются без шифрования. Как я могу сделать свое имя пользователя и пароль более безопасными? Я знаю, что \yii\helpers\Security::encrypt($data, $secretKey)
будет шифровать данные и симулировать, мы можем его расшифровать. Но как использовать его в виде формы входа?
Это моя форма входа
<?php $form = ActiveForm::begin(['id' => 'login-form']); ?> <?= $form->field($model, 'username') ?> <?= $form->field($model, 'password')->passwordInput() ?> <div class="form-group"> <?= Html::submitButton('Login', ['class' => 'btn btn-info']) ?> </div> <?php ActiveForm::end(); ?>
Как обрабатывать шифрование введенных пользователем данных здесь?
Как заявляет Sisko78 в своем комментарии, пароль хеширования на стороне клиента не будет очень полезен с точки зрения безопасности, но может нанести большой вред (если кто-то превращает Javascript вообще в свой браузер, они обычно ввернуты, так как ваши сервер не сможет правильно обработать не хешированные данные).
Я задал очень похожий вопрос по этому вопросу и получил этот отличный ответ . В целом:
С точки зрения злоумышленника, отправляете ли вы обычный текстовый пароль или хеш MD5 или он не имеет большого значения (…)
Этот ответ включает ссылку на хеш MD5, потому что я специально спросил об этом. Но это не имеет никакого отношения к тому факту, что MD5 теперь рассматривается как очень небезопасный. Что касается вашего (моего) вопроса, использование любого типа пароля на стороне клиента столь же небезопасно, как и пароль для хэширования вообще. И единственным действительно безопасным вариантом является использование протокола HTTPS . Аминь.