- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
问题:我有一个包含文本值的表单,以及一个必须基于文本值的值返回字符串查询的函数。
解决方案:我创建了一个带有参数的 SQLCommand 查询,然后将 SQLCommand.CommandText 放入一个字符串中,然后将其返回(给将要处理该查询的业务逻辑)
主要问题:它是sql注入(inject)证明吗?
代码示例:
sQuery = "select * from xy where x like '%@txtNameParameter%'";
SqlCommand cmd = new SqlCommand(sQuery);
cmd.Parameters.Add("@txtNameParameter", SqlDbType.VarChar);
cmd.Parameters["@txtNameParameter"].Value = txtName.Text;
string query = cmd.CommandText;
return query;
子问题(如果主要问题没问题):我是否应该将单选按钮和下拉菜单的值也放入参数中,还是它们是防注入(inject)的?
最佳答案
您在这里所做的事情是防注入(inject)的,因为您没有注入(inject)任何东西。事实上,你的参数甚至没有被使用(因为对它的唯一引用是在字符串文字中,所以 SQL 解析器甚至不会看到你试图在哪里使用该参数,因为它会将其视为字符串文字。)
您可能需要将该行代码更改为:
sQuery = "select * from xy where x like '%'+@txtNameParameter+'%'";
这将使 SQL 看起来像这样:
select * from xy where x like '%'+@txtNameParameter+'%'
这只是在 SQL 命令中需要字符串的地方进行字符串连接。
但是,您对之后所做的事情的描述可能会让所有这些都浮出水面。我无法理解为什么您只想将查询的 where 子句发送到业务层。
此外,子字符串 WHERE 子句不会包含您放入参数中的数据。所以你不会得到比返回更多的好处
return "where x like '%@txtNameParameter%'";
参数值丢失。
关于asp.net - 这是防 Sql 注入(inject)的 Asp.net 代码吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6581525/
我是Python和Golang开发人员,最近开始学习Rust。我当前的项目涉及处理数百个压缩日志文件,每个日志文件包含成千上万个JSON条目,每行一个JSON。我最初的尝试出奇的缓慢。通过调查,我注意
我在这里无法理解有关Rust闭包的概念。在我的代码中,默认值为i32。当我创建可变闭包时,它将采用文档中提到的可变引用。 当我在循环中调用inc闭包并尝试在循环内打印count的值时,我会得到可变的借
我是python的新手,并且在python中广泛使用了功能样式。 我正在尝试做的是接收一个字符串(切片)(或任何可迭代的)并使用对当前索引和下一个索引的引用进行迭代。这是我的尝试: fn main()
我通过RUST的性能购买了RUST,因此我决定将一个性能非常重要的项目从JAVA 11转换为Rust。 事实是,用JAVA性能编写的版本比单线程中的3倍要好得多,多线程中的+10倍要好得多 出于上下文
背景: 我正在编写rust的RDBMS db.catalog维护一个从table_id到table的哈希表: pub struct Catalog { table_id_table_map:
我的代码本身可以在文件中工作,但是每当我尝试运行RuSTLings quiz1.rs时,代码的测试部分都会出错。 // GOAL OF PROGRAM // Mary is buying apples
我很难理解Rust toml中的功能条目。 假设我有一个依赖项(在本例中为sqlx)说 sqlx = { version = "0.4.0-beta.1", default-features = fa
我的目标是 序列化(HashSet-> Vec) 并反序列化(&[u8]-> HashSet) uuid的哈希集。 我有以下序列化: fn serialize(set: HashSet) -> Vec
我是一名优秀的程序员,十分优秀!