良好而安全的表单验证

时间:2013-03-18 13:18:51

标签: php forms

使用PHP验证表单的最佳和最安全的方法是什么?例如:长度,电子邮件,空白,特殊等等。

为此使用filter_var是否安全?或者我应该手动将它们全部一个一个地定义在一个函数中。或者还有其他方法。

抱歉,我只是想确保,因为我在构建表单时反对这个问题很多次。

3 个答案:

答案 0 :(得分:1)

验证应该在客户端和服务器端完成。客户端验证使您的服务器端脚本遇到较少(或可能没有)错误。这是可取的,因为通常你不喜欢在服务器端获得太多错误。

话虽如此,有很多方法可以用PHP验证您的输入。这取决于具体情况。例如,检查空虚(就像你自己说的那样),或者某些输入是否为数字,检查给定值的长度(例如可能适用的最小长度),或者电子邮件地址是否真的是电子邮件地址! filter_var()可能并不总是足够的。

答案 1 :(得分:1)

您可以在服务器端使用正则表达式。但我会考虑使用javascript来验证客户端的表单字段。您不希望从服务器获取信息,只是为了检查字段是否正常,它将消耗无用的服务器时间。

答案 2 :(得分:1)

我认为最好的验证过程是使用正则表达式验证数据。您可以定义需要多少字符(至少或最多),允许或不允许哪些字符,甚至可以定义数据的确切格式。

验证必须在双方进行。服务器端和客户端。您在客户端进行验证并简化服务器端的工作。即使你做验证客户端,有恶意的人也可以破解你的代码。服务器端也必须进行验证。

filter_var函数也很有用。我用它来验证电子邮件地址。