PHP输入验证 - 需要注意的事项?

时间:2012-04-12 09:57:14

标签: php validation input

我正在创建一个验证用户输入文本的函数。由于我对输入文本有各种用途,因此我希望该功能可以涵盖尽可能多的区域,以便让用户在网站的任何部分输入文本。我目前正在使用各种代码来验证各种输入,并尝试将其中的安全部分合并为一个函数,并将正则表达式(电子邮件,电话,密码验证)整合到另一个可以在整个网站中使用的内容中。

我有一个与此相关的问题。

我在使用数据库中的信息检查输入时,使用这一点过滤来清理用户输入:

$find = strtoupper($find); 
$find = strip_tags($find); 
$find = trim ($find);
$_SESSION['find'] = $find;
$keywords_array = explode(' ', $find);

如果我使用strip_tags,在上面应用的过滤之前验证输入是否有意义:

if (preg_match("#\bscript\b#",$_POST['search']))
        {
            // Get user ip
            // Log client details to DB
            $GLOBALS['errorFocus'] = "autofocus class='thisInputIsError'";
            $GLOBALS['searchError'] = '<p>Your IP has been logged!</p>';
        }

如果是这样,我应该注意哪些其他标签?

另外,关于我试图整理的功能,我应该注意哪些其他事项?

任何涵盖此内容的GOOD教程的链接也很棒:)

谢谢!

1 个答案:

答案 0 :(得分:3)

php确实内置了过滤和验证功能,请阅读http://php.net/manual/en/book.filter.php 如果您想要自定义过滤HTML内容,也可以考虑HTMLpurifier或整理