我一直在考虑提高我的一些网站的安全性和稳定性,我一直在检查的一件事是逃避用户的所有输入(我应该这样做)。
在很多情况下,我使用标准 Zend_Db_Table_Row setFromArray() 方法,即
$myForm = new Form_MyForm();
$myTable = new Model_DbTable_MyTable();
if ($this->getRequest()->isPost())
{
if ($myForm->isValid($_POST))
{
$myRow = $myTable->createRow();
$myRow->setFromArray($_POST);
$myRow->save();
}
}
正如预期的那样,这工作正常。但是我不知道输入是否在此代码的任何位置被转义(就像用户的所有输入都应该在放在数据库附近的任何地方之前)。我在 Zend 中使用 quoteInto(),但也在外部使用 mysqli_real_escape_string()。
有谁知道在上面的示例中用户输入是否被转义(准备好用于数据库),如果没有,如果我想继续使用 setFromArray() 方法,我该如何转义它?