gpt4 book ai didi

sql-server - FieldByName 注入(inject)安全吗?

转载 作者:行者123 更新时间:2023-12-03 08:14:31 29 4
gpt4 key购买 nike

我说的是 Delphi + ADO + MSSQL。
好的,我知道带有参数的查询对于 SQL 注入(inject)是非常安全的。
另一方面,动态查询是相当不安全的。
但是经典的 FieldByName 方法呢?我可以安全地为 FieldByName 分配一个 ABSOLUTELY 任何字符串值,而不会冒注入(inject)的风险吗?

最佳答案

这是安全的。
Ado 正在使用更新/插入/删除的参数。

您可以使用 SQLProfile 进行跟踪,例如

exec sp_executesql N'UPDATE "test".."Activity" SET "data"=@P1 WHERE "InvokeTime"=@P2 AND "data"=@P3',N'@P1 float,@P2 datetime,@P3 float',1,'2013-04-24 10:46:22.933',0,48607825089780715

exec sp_executesql N'INSERT INTO "test".."Activity" ("InvokeTime","data") VALUES (@P1,@P2)',N'@P1 datetime,@P2 float','2000-01-01 00:00:00',2

exec sp_executesql N'DELETE FROM "test".."Activity" WHERE "InvokeTime"=@P1 AND "data"=@P2',N'@P1 datetime,@P2 float','2000-01-01 00:00:00',3

关于sql-server - FieldByName 注入(inject)安全吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17209680/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com