gpt4 book ai didi

winforms - 担心 Winforms 项目中的 SQL 注入(inject)有什么意义吗?

转载 作者:行者123 更新时间:2023-12-02 00:30:40 26 4
gpt4 key购买 nike

在 SO 和其他地方,如果没有人礼貌地指出最好使用参数化输入和存储过程,几乎不可能在示例代码中发布长连接的 SQL 指令。

最近的示例 here .

但是担心 Winforms 项目中的 SQL 注入(inject)有意义吗?

最佳答案

有什么理由编写安全的数据库代码吗?我不这么认为。

每个人都应该养成安全执行 SQL 的习惯,这样在编写公共(public)应用程序时就无需考虑它。

还要考虑到,许多原本打算保密的代码最终将在几个月或几年后变得可供公开访问。例如,“嘿,这个用于库存报告的 Intranet 应用程序很有用,我们为什么不将其上传到我们的公共(public)网站以供我们的业务合作伙伴使用?”

  • 使用参数将未经验证的数据与 SQL 查询分开。
  • 您可以将经过验证的数据插入 SQL 查询中。也就是说,如果您有代码来测试变量只能是整数(例如),那么将其视为整数是安全的。
  • 对于查询的其他动态部分(表名称、列名称、表达式等),您不能使用查询参数。但您可以将用户输入映射到硬编码字符串。例如。如果用户输入1,则按日期列排序。如果用户输入 2,则按 status 列排序。
  • 忽略那些说“只使用存储过程!”的程序员。好像这与防御 SQL 注入(inject)有关。事实并非如此。

关于winforms - 担心 Winforms 项目中的 SQL 注入(inject)有什么意义吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2053272/

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