gpt4 book ai didi

c# - 如何防止对文本框的SQL注入(inject)攻击?

转载 作者:搜寻专家 更新时间:2023-10-30 19:57:53 24 4
gpt4 key购买 nike

我的 VB.net 页面有一个文本框,它接受 SQL 语句并使用 SQL Helper 的 ExecuteDataSet 命令返回一个数据集。您认为防止执行 Delete、Truncate、Drop、Insert 等语句的最佳方法是什么?文本框应该只接受 Select 语句。我正在考虑通过 Javascript 或通过服务器验证来捕获输入字符串,但我确信有更有效的想法可以做到这一点。提前致谢。

编辑:我的文本框就像一个查询分析器,因此它接受一行 SQL 语句,然后根据输入的字符串返回一个数据集

最佳答案

首先,让我郑重声明,您的设计是一个非常糟糕的主意;您正在使您的数据库面临巨大风险。

更好的设计是让您的用户从他们可以选择的字段列表中进行选择。这避免了允许用户键入 SQL 语句。

但是,如果您下定决心要这样做,请构建一个要屏蔽的关键字数组。然后,在用户输入之后,遍历数组检查是否有任何被屏蔽的词。如果找到任何被阻止的词,则不执行 SQL。

不过,这是个坏主意。你不应该这样做。

关于c# - 如何防止对文本框的SQL注入(inject)攻击?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15424195/

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