javascript - 如何在提交前加密密码?
问题描述
我正在用 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>
当我单击网络请求中的提交按钮时,会显示此密码
我可以加密该字段或隐藏吗?
解决方案
您通过 HTTPS 将纯密码发送到您的服务器,您的服务器将在那里对其进行哈希处理并将哈希处理后的密码存储在数据库中。
只要你通过 HTTPS 发送它,你就很好。即使是大型网站也无需使用任何额外的密码字符串加密
您还可以阅读有关 CSRF 保护的信息。在每个发布请求中,您都应该集成 CSRF 保护。
理论上,黑客可以使用表单重新创建您的前端网站。访问他的页面的用户会认为它是您的页面,他会尝试注册/登录到您的页面。如果没有 CSRF 保护,用户将能够登录并被重定向到您的站点,例如仪表板,然后黑客可以将这些信息保存在他的数据库中。
推荐阅读
- llvm - 列出 lldb 中断点周围的源
- localization - ASP.NET Core 3.1 MVC 中的本地化
- python - 如何在python中将异常转换为字符串
- python - 如何使用 selenium 抓取网站上生成的数据?
- python - IBM Cloud Functions Python API 打开本地文件浏览器以上传文件
- c++ - 在抽象基类中使用 typeid 来自动生成派生类名称。如何获得想要的结果?
- javascript - jquery 每个为 json
- android - VideoPlayerController 在现有 Android 应用程序内部不起作用
- ios - 在 SceneDelegate 中未调用通用链接回调函数
- postgresql - Postgres不在时间字段内保留粒度单位