如何使我的整个php更安全


How can I make my whole php safer?

我想知道如何使php文件更安全。事实上,我使用的是mysqli,不幸的是,我知道它已经不是最新版本了。我mysqli_escape_str。。。()输入字段中输入的所有字符串。但是你有一些关于安全的建议吗。如果你需要的话,我还使用了一些ajax。

这是一个巨大的主题,这取决于你目前使用的是什么,但从听起来,我建议使用PDO而不是mysqli,因为它使用的是预先准备好的语句。当正确使用准备好的语句时,SQL注入攻击是不可能的。至于AJAX,你可以确保你使用的是CSRF令牌。

一般来说,您可以在这里找到许多安全风险:https://www.owasp.org/index.php/OWASP_Top_Ten_Cheat_Sheet以及一些缓解它们的方法。

在处理数据库中的查询时,必须确保没有sql注入。现在,因为您已经了解了mysqli_escape_str,我将建议您更好的方法:使用准备好的查询。这里有一个例子:

$stmt = $dbh->prepare("INSERT INTO REGISTRY (name, value) VALUES (:name, :value)");
$stmt->bindParam(':name', $name);
$stmt->bindParam(':value', $value);
// insert one row
$name = 'one';
$value = 1;
$stmt->execute();
// insert another row with different values
$name = 'two';
$value = 2;
$stmt->execute();