我有两个功能:get_post_data()
从表单中获取 POST 数据。然后它将用户名和密码发送到process_login($username, $password)
. 我想以纯文本形式发送密码。
我这样做安全吗,还是必须在将密码作为函数参数发送之前对密码进行哈希/加密?
我有两个功能:get_post_data()
从表单中获取 POST 数据。然后它将用户名和密码发送到process_login($username, $password)
. 我想以纯文本形式发送密码。
我这样做安全吗,还是必须在将密码作为函数参数发送之前对密码进行哈希/加密?
将密码存储到永久位置时,或者显然需要根据存储的哈希检查密码时,应该进行哈希处理。
否则,如果您将其从一台服务器传输到另一台服务器或外部资源,我认为最好对其进行散列或至少使用加密连接。最好两者兼而有之。
是的,你是安全的,散列应该在服务器端完成,以防止客户端散列实现中的不一致。
一旦你的 php 代码中有变量,在你自己的函数中传递它是安全的,用户将无法访问它。
如果您担心通过纯文本将密码从客户端传输到服务器,您应该考虑使用 https。
拥有没有什么错
$password = 'some piece of malicious code';
process_login($password);
因为该恶意代码只会作为 DATA 传输,而不会实际执行。
现在,如果您正在做一些愚蠢的事情(好吧,这将是彻头彻尾的愚蠢):
eval($password);
那么是的,你很容易让你的系统被完全颠覆。