首页 > 解决方案 > 如何在提交前加密密码?

问题描述

我正在用 HTML 和 PHP 的后端制作登录表单

这是表格

<form class=" col-md-8" action="inicio.php" method="POST" onsubmit="encrypt()">
<br>
<p><?php echo $error; ?></p>
 <div class="mt-3">
  <h5><label for="materialLoginFormEmail">USUARIO</label></h5>
  <input type="text" id="user" name="username" class="form-control" required="true" placeholder="Introduce tu usuario">       
 </div>
<br>
 <div>
  <h5><label for="materialLoginFormPassword">CONTRASEÑA</label> </h5>
  <input type="password" class="form-control" required="true" id="password" name="password" value="" placeholder="Introduce tu contraseña">
 </div>
 <div class="d-flex justify-content-around">
  <div>
   <button class="btn my-4" name ="btnLogin" type="submit" style="background-color: rgba(78,133,172);  color: white;">Iniciar Sesión</button>
  </div>
 </div>
</form>

当我单击网络请求中的提交按钮时,会显示此密码

我可以加密该字段或隐藏吗?

标签: javascriptphphtml

解决方案


您通过 HTTPS 将纯密码发送到您的服务器,您的服务器将在那里对其进行哈希处理并将哈希处理后的密码存储在数据库中。

只要你通过 HTTPS 发送它,你就很好。即使是大型网站也无需使用任何额外的密码字符串加密

您还可以阅读有关 CSRF 保护的信息。在每个发布请求中,您都应该集成 CSRF 保护。

理论上,黑客可以使用表单重新创建您的前端网站。访问他的页面的用户会认为它是您的页面,他会尝试注册/登录到您的页面。如果没有 CSRF 保护,用户将能够登录并被重定向到您的站点,例如仪表板,然后黑客可以将这些信息保存在他的数据库中。


推荐阅读