1

是否被认为是使用 PHP 过滤和清理变量的最佳实践filter_var()sanitize_var()还是有更好的选择?

谢谢你。

4

4 回答 4

0

我想提一下用于任何 HTML 过滤/清理的HTML Purifier 。

对于通用验证(数字、日期和其他值),有很多库,也有内置函数,您可以选择最合适的,但如果您已经使用 Zend Framework ,我仍然想提一下Zend_Validate .

于 2011-08-24T21:26:29.317 回答
0

我总是会考虑以下口头禅......“永远不要相信用户输入”ctype_alpha,ctype_alnum 也是验证的好表现,记住也要验证客户端(javascript验证),这也将有助于减少服务器负载

于 2011-08-24T21:15:29.360 回答
0

让我们尝试验证来自表单的输入。

我们需要做的第一件事是确认我们要查找的输入数据是否存在。

然后我们使用 filter_input() 函数过滤输入数据。

在下面的示例中,输入变量“email”被发送到 PHP 页面:

于 2013-08-25T08:50:57.837 回答
0

我认为最好使用 HTML5 使用客户端验证,然后使用服务器端。PHP 具有过滤字符串的 FILTER_SANITIZE_STRING 之类的函数(尽管您不需要验证),您可以使用 FILTER_VALIDATE_EMAIL 而不是使用正则表达式手动验证电子邮件。您还可以使用限制,例如字符数量等。

概念上的例子...

if form is submitted 
  if 'name' is not empty
    create a variable that equals filter_var($_POST['name'], FILTER_SANITIZE_STRING)
    if 'name' is empty then set echo an error message

  if 'email is not empty
    create a variable that equals filter_var($_POST['email'], FILTER_SANITIZE_STRING)
    // then you can validate email
    if (!filter_var($email, FILTER_VALIDATE_EMAIL))
      error message
  // do this for other variables

  if there's not error
    send email and or a thank you message

 //FORM here
于 2013-10-31T03:28:35.690 回答