使用Go SQL库,我们可以使用如下参数创建SELECT、INSERT、UPDATE和DELETE语句:
db.Query("SELECT * FROM database.table WHERE param = ?", param_value)我希望从描述表结构的用户提供的输入中创建表,用户将被要求提供表的名称以及他们想要创建的每个列的名称和类型。但是,在查询接口中构建CREATE语句可以通过将字符串连接在一起创建CREATE语句,但这是一种等待发生的SQL注入攻击。
是否有使用Go SQL库参数化CREATE语句的方法?
发布于 2018-05-23 00:24:05
SQL查询参数仅取代标量值。
也就是说,您只能使用一个参数来替代,否则您将使用常量引号字符串、常量引号日期/时间或常量数字。
SQL查询参数不能用于:
IN(...)谓词)编写使用描述表结构的用户输入的应用程序的正确方法是将用户输入解释为指南,而不是将其解释为字面SQL语法。避免将用户输入(或任何不安全的内容)传递给要作为任何SQL语句的一部分执行。
https://stackoverflow.com/questions/50477597
复制相似问题