gpt4 book ai didi

c# - 在 ASP.NET c# 中设置 sqldatasource select 语句时防止 SQL 注入(inject)

转载 作者:太空宇宙 更新时间:2023-11-03 21:57:54 28 4
gpt4 key购买 nike

我有一个关于在我的应用程序中防止 SQL 注入(inject)的快速问题。

我的 Web 应用程序的两个不同功能使用文本框,用户可以使用这些文本框从 MSSQL 数据库中搜索项目。此信息显示在 GridView 中。

我使用这种方法创建查询:

sqldatasource.SelectCommand = "SELECT x from x where this_id LIKE '%" + txtbox.Text + "%' ORDER BY x ASC";

显然,像这样获取用户输入并将其直接输入到查询中将打开基本的 SQL 注入(inject)。请有人解释一下我如何对其进行参数化以防止在我的应用程序中进行 SQL 注入(inject)?

提前致谢

最佳答案

sqldatasource.SelectCommand = @"SELECT x from x where this_id LIKE @inText ORDER BY x ASC";

cmd.Parameters.AddWithValue("@inText", "%" + txtbox.Text + "%");

请注意,如果您使用通配符启动 LIKE,您将会很痛苦。一张大 table 会伤心,慢慢走。

关于c# - 在 ASP.NET c# 中设置 sqldatasource select 语句时防止 SQL 注入(inject),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11461063/

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