Php 验证后和保存数据前是否需要检查空变量?

Php 验证后和保存数据前是否需要检查空变量?,php,Php,在表单验证之后和保存数据之前,是否仍然需要检查空变量 这一步有些不必要,因为如果用户不输入任何输入,验证规则肯定会触发错误 然而,我看到其他人的评论说,如果用户输入被净化,它可能返回一个空变量。但我们多久会让用户输入只返回空变量的纯XSS脚本 有人对此有什么看法吗?提前感谢。具有空的经过消毒的返回值和发送空值不是一回事 考虑simpe登录脚本:用户不输入用户名和密码。你还会验证他的输入吗?显然,没有。在将它们传递给验证之前,您需要检查$_POST['username']和$_POST['pw']

在表单验证之后和保存数据之前,是否仍然需要检查空变量

这一步有些不必要,因为如果用户不输入任何输入,验证规则肯定会触发错误

然而,我看到其他人的评论说,如果用户输入被净化,它可能返回一个空变量。但我们多久会让用户输入只返回空变量的纯XSS脚本


有人对此有什么看法吗?提前感谢。

具有空的经过消毒的返回值和发送空值不是一回事

考虑simpe登录脚本:用户不输入用户名和密码。你还会验证他的输入吗?显然,没有。在将它们传递给验证之前,您需要检查$_POST['username']和$_POST['pw']以确保它们有一个值。这是你控制什么是错误以及为什么是错误的唯一方法。然后,您可以向用户发送一条消息,说明登录时需要用户名和密码。当然,许多验证库都会自己执行这一步骤,但重要的是,您使用的验证库会告诉您验证失败的原因,以便您可以采取相应的行动,例如:向用户发送消息,或记录恶意尝试


希望对你有所帮助,快乐的状态很大程度上取决于代码。无论如何,数据必须在服务器端至少验证一次。您好,stefgosselin,感谢您的反馈。如果我错了,请纠正我。但当用户单击“提交”时,表单将验证输入。如果输入是必需的且为空,则会触发错误。因此,在尝试保存表单之前,我们会验证表单是否为空,是否符合我们的输入格式,例如电子邮件等。嗨,Katef:o欢迎使用堆栈溢出。@Katef,永远不要信任来自浏览器的输入。从您的评论中,我了解到您所说的客户端验证是由javascript完成的。但这种验证很容易被禁用和绕过。客户端验证只能用作附加验证。