0

仅在 ajax 调用中使用 SQL 查询有什么问题吗?例如:

$.ajax({
     type: "POST",
     url: "queryhandler.php",
     data: { query: "INSERT INTO users VALUES(incontrol, drowssap)" },
     dataType: "json",
     success: function (data) {
         if (typeof callback == 'function')
             callback(data);
     }
);

这是不明智的吗?如果是,为什么?

4

3 回答 3

3

这是一个非常糟糕的主意。如果您可以从 AJAX 进行直接 SQL 查询,这是一种客户端技术,任何使用您网站的人都无法做到。如果您返回结果,这意味着您网站上的每个人不仅可以添加/删除/修改数据并可能操纵表结构,而且他们还可以从您的数据库中提取私人或机密数据。

于 2012-09-06T15:56:30.687 回答
1

是的,有几个原因。

一个。您为任何“黑客”提供了一个直接接口来读取和操作您的数据。

湾。即使您在服务器端添加一个过滤受操纵查询的白名单,您也会暴露您的数据库结构(或其中的一部分),这可以帮助攻击者更有针对性。

于 2012-09-06T15:58:10.873 回答
0

是的,这是错误的,因为您正在邀请黑客访问您的网站并入侵您的网站。

于 2012-09-07T12:38:58.207 回答