我正在研究动态应用程序,我不确定参数化查询是否对XSS,二阶攻击是安全的?你能帮助我吗?谢谢!
我以此代码为例:
$stmt = $mysqli->prepare("INSERT INTO tb (1, 2, 3, 4, 5, 6, 7) VALUES (?, ?, ?, ?, ?, ?, ?)"); $stmt->bind_param('sssssss', $1, $2, $3, $4, $5, $6, $7); $stmt->execute(); $stmt->close();
答案 0 :(得分:0)
不。
参数化查询可防止SQL注入;也就是说,它确保查询参数在SQL后端处理之前格式正确并正确转义。
XSS是一个不同类别的问题,应该对输入进行HTML标记的清理;鉴于正确参数化的SQL值仍然可以包含标记,您需要额外的编码(例如htmlspecialchars()
)。
答案 1 :(得分:0)