我有一个小的MySQL数据库,有几百行(全部是文本,没有图像).我使用iQuery请求所有行,并在客户端进行所有过滤. iQuery代码如下:
$(document).ready( function () {
$.get("alldata.php",function(data){
$('#result').text(data);
});
});
在服务器端,“alldata.php”具有以下代码并将JSON中的数据传递回iQuery:
$sql = "SELECT title FROM mydatabase";
$result = mysqli_query($conn,$sql);
$arr = array();
while($row = mysqli_fetch_assoc($result)){
$row_array['Title'] =$row['title'];
array_push($arr,$row_array);
}
mysqli_close($conn);
echo json_encode($arr);
在我看来,由于没有提交给数据库的用户输入,因此不存在任何注入风险.我是对还是错?非常感谢您的投入!
最佳答案
你是对的.您的SQL语句本身不包含任何参数,因此没有用于注入的向量.虽然SELECT语句可能存在注入攻击,但在您的情况下,查询不是动态创建的,因此不能被篡改.