我正在审查我的所有代码,并且在验证用户输入前验证用户输入的必要性有第二个想法。举例来说,信用卡CVV的验证:验证之前验证是否需要验证?
// validation required?
if(!preg_match('/^[\d]{3,4}$/', $_POST['card_CVV']))
{
unset($_POST['card_CVV']);
$error++;
// verification
}
elseif($card_CVV != $_POST['card_CVV'])
{
$error++;
}
// pass verification
else
{
// process transaction
}
是否应该在未验证的情况下进行验证?
嗯,我想即使在这里有注射可能。永远和总是验证和过滤用户输入 - 意味着你不应该在elseif中使用未经过滤的$ _POST'变量,对吗?! – Anonymous
我不确定我完全理解验证和验证之间的区别。他们看起来事实上是同一件事情......您正在检查输入是否处于预期形式,通常是以相当简单的方式进行,通常是在对这些输入进行更严格的处理之前,向用户返回错误消息。 – cdeszaq
@ Dan Surfrider,我不存储用户数据,是否仍然存在风险? –