PHP:通过post发送密码的安全方式

PHP:通过post发送密码的安全方式,php,html,authentication,https,Php,Html,Authentication,Https,我对php和登录表单非常感兴趣。然而,我仍然在挣扎什么是安全的,什么不是 当用户登录时,我需要通过POST将用户名和密码发送到php 目前,我正在使用php函数对服务器上的密码进行哈希运算。哈希密码也存储在数据库中 我听说你已经可以在客户端用JS散列了?但是当js没有被激活时会发生什么呢?我不能确定它是否100%正确地散列 通过post但使用HTTPS发送普通密码安全吗 谢谢你的意见。我很高兴学习一些新技术,使其更加安全。是的,您通过HTTPS向服务器发送一个简单的密码,服务器将在那里对其进

我对php和登录表单非常感兴趣。然而,我仍然在挣扎什么是安全的,什么不是

当用户登录时,我需要通过POST将用户名和密码发送到php

  • 目前,我正在使用php函数对服务器上的密码进行哈希运算。哈希密码也存储在数据库中

  • 我听说你已经可以在客户端用JS散列了?但是当js没有被激活时会发生什么呢?我不能确定它是否100%正确地散列

  • 通过post但使用HTTPS发送普通密码安全吗


谢谢你的意见。我很高兴学习一些新技术,使其更加安全。

是的,您通过HTTPS向服务器发送一个简单的密码,服务器将在那里对其进行散列,并将散列后的密码存储在数据库中

您还可以阅读有关CSRF保护的内容。在每个post请求中,您都应该集成CSRF保护


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

只要您通过HTTPS发送,您就可以了。即使是大型网站也不需要对密码字符串进行任何额外的加密。不要加密密码。您不应在服务器上以任何形式存储密码。只存储安全散列。谢谢@ConstantinGroß,这很好。关于密码存储,您不应该依赖标准散列函数,如
sha1
(尤其是
md5
)。阅读“加密”密码和/或使用专用密码哈希算法/库。不要加密密码。