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