如果在if语句中使用,我应该清理$ _POST数据吗?

时间:2014-12-07 12:10:43

标签: php post sanitization sanitize

我正在网站上实施一个简单的封闭区域。 输入正确的密码后即可授予访问权限。密码是共享的,因此没有真正的帐户。 我试图了解我是否缺少一些变量过滤,如果我应该清理数据。我很确定我必须这样做,但我不知道什么是最好的方法。

在我的代码中,我有两个地方,我使用$ _POST变量中的数据:

if(isset($_POST)&&$_POST['the_password']!="")
{
    $my_password = $_POST['the_password'];
    //Should i use something like this?
    //$my_password = filter_input(INPUT_POST, 'the_password', FILTER_SANITIZE_STRING); 
}

第二个地方是我在if语句中使用变量:

if($a_password == $my_password)
{
    //Query using the $a_password variable
}

在这部分代码中,$ a_password来自硬编码查询。

filter_input函数是否正确?我错过了什么吗?

1 个答案:

答案 0 :(得分:1)

简短的回答是否定的;对于if语句,您的代码是安全的。

但是,如果稍后编辑代码,则应在数据库查询中使用预准备语句。