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


Is it safe to send vulnerable information as function arguments in PHP?

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

这样做安全吗?还是在将密码作为函数参数发送之前必须对其进行哈希/加密?

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

否则,如果你将它从一台服务器转移到另一台服务器或外部资源,我认为最好将其散列,或者至少使用加密连接。最好两者都有。

是的,您是安全的,应该在服务器端进行哈希处理,以防止客户端哈希实现中的不一致。

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

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

有没有错

$password = 'some piece of malicious code';
process_login($password);

因为该恶意代码只会作为DATA四处传输,而从未实际执行过。

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

eval($password);

那么是的,你的系统很容易被彻底颠覆。