我想知道如何使php文件更安全。我知道,我实际上使用的是mysqli,遗憾的是它不再是最新版本了。我mysqli_escape_str ...()在输入字段中输入的所有字符串。但是你有关于安全的一些提示吗?如果你需要知道的话,我也会使用一些ajax。
答案 0 :(得分:1)
这是一个很大的主题,它取决于你现在使用的是什么,但是通过它的声音,我会建议像PDO而不是mysqli这样的东西,因为它使用预备语句。正确使用预准备语句时,SQL注入攻击是不可能的。至于AJAX,您可以确保使用CSRF令牌。
一般情况下,您可以在此处找到许多安全风险:https://www.owasp.org/index.php/OWASP_Top_Ten_Cheat_Sheet以及一些缓解这些风险的方法。
答案 1 :(得分:1)
当你在数据库中处理查询时,你必须确保没有sql注入。现在因为您已经知道mysqli_escape_str
,我会建议您更好的方法:使用prepared queries。
这是一个例子:
$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();