在PHP中将易受攻击的信息作为函数参数发送是否安全?

时间:2013-07-31 19:10:51

标签: php function arguments argument-passing

我有两个函数:get_post_data()从表单中获取POST数据。然后它将用户名和密码发送到process_login($username, $password)。我想以纯文本形式发送密码。

我是否可以安全地执行此操作,或者在将密码作为函数参数发送之前是否必须对密码进行哈希/加密?

3 个答案:

答案 0 :(得分:1)

在将密码存储到永久位置时,或者当您需要根据存储的哈希检查密码时,应该进行哈希处理。

否则,如果您将其从一台服务器转移到另一台服务器或外部资源,我认为最好将其哈希处理,或者至少使用加密连接。两者最好。

答案 1 :(得分:1)

是的,你是安全的,哈希应该在服务器端完成,以防止客户端哈希实现中的不一致。

一旦你的php代码中有变量,将它传递给你自己的函数是安全的,用户将无法访问它。

如果您担心通过纯文本从客户端向服务器传输密码,您应该考虑使用https。

答案 2 :(得分:1)

拥有

并没有错
$password = 'some piece of malicious code';

process_login($password);

因为恶意代码只能作为DATA转移,而且从未实际执行过。

现在,如果你做了一些愚蠢的事(好吧,这将是彻头彻尾的愚蠢):

eval($password);

然后是的,你很容易被系统彻底破坏。