procedure AppendRecord(const Values: array of const);
,TDataSet
等中存在方法TFDTable
。如果我们深入了解TDataset
来源(我没有FireDac来源)。数据由SetFields(Values);
和Fields[I].AssignValue(Values[I])
方法设置。
我想知道在SQL注入方面是否安全传递这样的东西:MyFireDacDS.AppendRecord([..., Edit1.Text, ...])
?
答案 0 :(得分:2)
AppendRecord
不使用任何Values
作为可执行SQL,因此不会比参数化查询更容易受到SQL注入攻击。
SQL注入仅适用于使用未经验证的输入的动态构造的SQL,并且由于AppendRecord不使用此类SQL,因此它不会受到SQL注入的风险。
(当然,您可以尝试将SQL作为Value
项之一传递并查看会发生什么来自行测试。)