这段代码安全吗?
$name = htmlspecialchars($mysqli->real_escape_string($_POST["name"]), ENT_QUOTES,"UTF-8");
还是我应该用这个
$name = $mysqli->real_escape_string(htmlspecialchars($_POST["name"], ENT_QUOTES,"UTF-8"));
或者没关系?谢谢
两者都不。
进行查询时保护您的数据库免受 SQL 注入。在可能的情况下,使用参数化查询而不是手动转义。
在生成 HTML 时保护您的 HTML 免受 XSS 攻击。即适用于您从htmlspecialchars
数据库中获取的数据,而不是您放入其中的数据。