可能重复:
在 PHP 中防止 SQL 注入的最佳方法
在我的网站中,用户可以提交帖子并删除他们的帖子。
要删除帖子,他们点击链接/posts.php?deletid=X
,其中 X 是数据库中帖子的 id(例如:1)。
单击后,它将运行以下命令:
if(isset($_GET['deleteid'])) {
$deleteid = $_GET['deleteid'];
$sql = "DELETE from `posts` WHERE `id`=".mysql_real_escape_string($deleteid).";";
$query = mysql_query($sql);
header('Location: posts.php');
exit();
}
问题是它容易受到 1=1 SQL 注入的攻击。如果他们在地址栏中输入/posts.php?deletid=1 OR 1=1;
,它将删除数据库上的所有帖子。
在这个问题中:如何防止 PHP 中的 SQL 注入?,我意识到我需要使用 mysqli 语句,我试图让它工作但没有成功..
有人可以告诉我如何用mysqli防止这种情况吗?