nde*_*cca 8 php post netbeans filter
使用Netbeans,每当我尝试访问$ _POST或$ _GET中的变量时,我建议使用类似于:filter_input(INPUT_POST,'id')'for safety'的东西(我认为它不比使用带有默认NON过滤器的filter_input更安全,但是无论如何..).
这让我想到了这篇文章的答案:如何抓住帖子中的所有变量(PHP)
你有:
foreach ($_POST as $key => $value) {
//do something
echo $key . ' has the value of ' . $value;
}
Run Code Online (Sandbox Code Playgroud)
filter_input()仅适用于$ _POST中的各个变量
我的问题是,如何$_POST as $key通过过滤来重写" "以适应NetBeans告诉我的这种假定的访问标准?
mle*_*eko 11
您可以$_POST使用filter_input_array过滤整个
$safePost = filter_input_array(INPUT_POST);
Run Code Online (Sandbox Code Playgroud)
使用第二个参数可以更改过滤器
$safePost = filter_input_array(INPUT_POST, FILTER_SANITIZE_STRING);
Run Code Online (Sandbox Code Playgroud)
您还可以定义每个属性过滤器
$safePost = filter_input_array(INPUT_POST, [
"id" => FILTER_VALIDATE_INT,
"name" => FILTER_SANITIZE_STRING,
"email" => FILTER_SANITIZE_EMAIL
]);
Run Code Online (Sandbox Code Playgroud)
如果我对输入一无所知怎么办?
好吧,你总是知道一些事情,你知道你期望得到什么.如果用户提供无效输入,您应该对此作出反应.
如果您希望字段中的整数id并且用户向您发送tomato,那么您应该回复错误,通知用户他发送的请求有什么问题.