我正在网站上实现一个简单的封闭区域。输入正确的密码后授予访问权限。密码是共享的,因此没有真实帐户。我试图了解我是否缺少一些变量过滤以及我是否应该清理数据。我很确定我必须这样做,但我不知道什么是最好的方法。
在我的代码中,我有两个地方使用 $_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功能是正确的吗?我错过了什么吗?
简短的回答是否定的;对于if
语句,你的代码是安全的。
但是,如果稍后编辑代码,则应在数据库查询中使用预准备语句。