使用FILTER_SANITIZE_STRING清理输入

时间:2012-06-09 16:52:10

标签: php http-post html-form sanitize

我很生气地写了一些代码来清理来自表单的数据。 在表单中,我有一个名为“sender_countryCode”的输入字段,它只能包含2或3个文本字符,如USA,FR,EN,... 下面的代码应该阻止与字符串不同的一切,但如果我在字段中写“我的文本”没有通过过滤器!

if  (isset($_POST["sender_countryCode"])){
    $var    =   $_POST["sender_countryCode"];
    $var    =   stripslashes($var);
    $var    =   htmlentities($var);
    $var    =   strip_tags($var);
    $var    =   filter_var($var, FILTER_SANITIZE_STRING);
    $sender["countryCode"] = $var;
    unset($var);
};

1 个答案:

答案 0 :(得分:2)

这很有效:)对不起我很晚了,但我看到它没有回答。这是我的解决方案。:

function maxLengthCheckUp($this) {
    if ( strlen($this) <= 4){
        return TRUE;
    }
}
if (isset($_POST["sender_countryCode"]) 
  && !preg_match('/\s/',$_POST["sender_countryCode"]) 
  && maxLengthCheckUp($_POST["sender_countryCode"])) {
    $var    =   $_POST["sender_countryCode"];
    $var    =   stripslashes($var);
    $var    =   htmlentities($var);
    $var    =   strip_tags($var);
    $var    =   filter_var($var, FILTER_SANITIZE_STRING);
    $sender["countryCode"] = $var;
    echo $sender["countryCode"];
    unset($var, $sender);
};//end of if(...

使用以下元素创建您的表单:

<input type="text" name="sender_countryCode" id="sender_countryCode" />
<input type="submit" name="Submit" id="Submit" value="Submit" />

提交表单...创建一个普通的表单....只需使用我上面的PHP代码。试一试:)

相关问题