Php 如果在if语句中使用$\u POST数据,我是否应该对其进行清理?

Php 如果在if语句中使用$\u POST数据,我是否应该对其进行清理?,php,post,sanitization,sanitize,Php,Post,Sanitization,Sanitize,我正在一个网站上实现一个简单的封闭区域。 输入正确的密码后,即可授予访问权限。密码是共享的,因此没有真正的帐户。 我试图了解我是否缺少一些变量过滤,以及是否应该清理数据。我很确定我必须这么做,但我不知道什么是最好的方法 在我的代码中,我有两个地方使用来自$\u POST变量的数据: if(isset($_POST)&&$_POST['the_password']!="") { $my_password = $_POST['the_password']; //Sho

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

在我的代码中,我有两个地方使用来自$\u 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_密码来自硬编码查询


filter_输入函数是否正确?我遗漏了什么吗?

简单的回答是没有;对于
if
语句,您的代码是安全的


但是,如果您以后编辑代码,您应该在数据库查询中使用准备好的语句。

对其进行清理是为了什么?因为您似乎不太关心安全性,所以清理可能有些过分。请将SHA1($_POST[“password”])与
StoredSHA1Hash
进行比较。