Ron*_*ira 10 java sql google-bigquery
我正在Big-query为我们的网站编写一些Google 动态报告实用程序,这将允许用户在查询中选择要替换的参数.鉴于此查询"模板":
SELECT name ,
birthday
FROM [dataset.users]
WHERE registration_date = '{{registration_date}}'
Run Code Online (Sandbox Code Playgroud)
我们从用户那里获取{{registration_date}}值并将其替换为模板,从而产生一个查询:
SELECT name ,
birthday
FROM [dataset.users]
WHERE registration_date = '2013-11-11'
Run Code Online (Sandbox Code Playgroud)
sql-injection鉴于我正在使用Google Big-query客户端API 执行查询,并且API不允许使用传统RDBMSapi 上的定位参数,因此我可以在这种情况下防止类似攻击.
检查OWASP中的"防御选项3:转义所有用户提供的输入":
更新:参数化查询现在是一个选项
自从BigQuery中推出标准SQL以来,就有可能使用查询参数来防止SQL注入。在查询中,您可以使用@以下名称来指定命名参数,例如
SELECT x, y FROM T WHERE x <= @x_max AND y = @target_y;
Run Code Online (Sandbox Code Playgroud)
然后,您可以通过query_parametersAPI 的属性提供参数值。
| 归档时间: |
|
| 查看次数: |
2012 次 |
| 最近记录: |