javascript – 如果没有用户输入发送到数据库,是否存在任何注入风险?

我有一个小的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语句可能存在注入攻击,但在您的情况下,查询不是动态创建的,因此不能被篡改.

相关文章

navicat查看某个表的所有字段的详细信息 navicat设计表只能一...
文章浏览阅读4.3k次。转载请把头部出处链接和尾部二维码一起...
文章浏览阅读488次。恢复步骤概要备份frm、ibd文件如果mysql...
文章浏览阅读225次。当MySQL单表记录数过大时,增删改查性能...
文章浏览阅读1.5k次。Mysql创建、删除用户MySql中添加用户,新...
MySQL是一种开源的关系型数据库管理系统,被广泛应用于各类应...