首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何防止Google Big query上的查询注入

如何防止Google Big query上的查询注入
EN

Stack Overflow用户
提问于 2013-12-28 02:08:41
回答 2查看 3.9K关注 0票数 11

我正在写一些谷歌Big-query动态报告实用程序到我们的网站,这将允许用户选择一个参数来替换查询。给定这个查询"template":

代码语言:javascript
复制
SELECT  name ,
        birthday
FROM    [dataset.users]
WHERE   registration_date = '{{registration_date}}'

我们从用户那里获取{{registration_date}}值,并将其替换到模板中,从而产生一个查询:

代码语言:javascript
复制
SELECT  name ,
        birthday
FROM    [dataset.users]
WHERE   registration_date = '2013-11-11'

假设我正在使用谷歌Big-query客户端API执行查询,并且该API不允许像在传统RDBMS API上那样使用定位参数,那么在这种情况下,我如何防止类似sql-injection的攻击。

EN

回答 2

Stack Overflow用户

发布于 2014-01-18 07:48:50

票数 7
EN

Stack Overflow用户

发布于 2017-02-10 12:36:51

自从在BigQuery中推出标准SQL以来,就可以使用query parameters作为防止SQL注入的一种方法。在查询中,可以使用@后跟名称来指定命名参数,例如

代码语言:javascript
复制
SELECT x, y FROM T WHERE x <= @x_max AND y = @target_y;

然后,您可以通过API的query_parameters属性提供参数值。

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20805617

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档