使用 PHP 验证表单的最佳和最安全的方法是什么?例如:长度、电子邮件、空白、特殊字符等。
为此使用 filter_var 是否安全?或者我应该手动将它们全部定义在一个函数中。或者有没有其他方法。
抱歉,我只是想确定一下,因为我在构建表单时经常遇到这个问题。
验证应该在客户端和服务器端都进行。客户端验证使您的服务器端脚本遇到更少(或可能没有)错误。这是可取的,因为通常您不喜欢在服务器端出现太多错误。
话虽如此,您可以通过多种方式使用 PHP 验证您的输入。这取决于上下文。例如,检查空性(就像你自己说的那样),或者某些输入是否是数字,检查给定值的长度(例如最小长度可能适用),或者电子邮件地址是否真的是电子邮件地址!filter_var() 可能并不总是足够的。
您可以在服务器端使用正则表达式。但我会考虑使用 javascript 来验证客户端的表单字段。您不想从服务器来回获取信息只是为了检查字段是否正常,这将消耗无用的服务器时间。
我认为最好的验证过程是用正则表达式验证数据。您可以定义需要多少个字符(至少或最多),允许或不允许哪些字符,甚至可以定义数据的确切格式。
验证必须在双方进行。服务器端和客户端。您在客户端进行验证并简化服务器端的工作。即使您在客户端进行验证,心怀恶意的人也可以破解您的代码。服务器端也必须进行验证。
filter_var 函数也很有用。我用它来验证电子邮件地址。