我在localhost服务器托管的其中一个页面中有一个POST参数。
$name = addslashes(trim($_POST['name']));
并在Update.php页面和
之一中使用PDO预处理语句当我尝试使用以下数据提交字段时,它会显示导致XSS攻击的ALERT弹出窗口,因此我如何防止此攻击以使SQL注入和XSS无法正常工作。
abc"><script>alert(1);</script>
这是我使用的SQL查询 -
$query = "UPDATE table set name =? where id=?";
$stmt = $conn->prepare($query);
$stmt->execute(array($name,$id));
谢谢
答案 0 :(得分:4)
代码注入是100%上下文敏感的。它不会仅仅因为恶意用户键入“危险”字符而发生。
addslashes()
。您已经在使用预准备语句将代码与数据分开。htmlspecialchars()
。json_encode()
。......等等。注入与语言一样多,每种类型都需要独立处理。