几天前我扫描了我的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协议。阿门。