加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – 我需要在SQL查询中转义的字符是什么

发布时间:2020-12-15 20:00:33 所属栏目:百科 来源:网络整理
导读:插入字符串时我需要检查和转义的字符是什么? INSERT INTO gamedata (gamename,url,dlink) VALUES ('mady's run','http://www.sdfa.com','http://extabit.com/sdf')/code 我该如何逃避这些角色? 我正在使用C#并使用SQL Server Management Studio 2008管理数
插入字符串时我需要检查和转义的字符是什么?

INSERT INTO gamedata (gamename,url,dlink) 
VALUES ('mady's run','http://www.sdfa.com','http://extabit.com/sdf')</code>

我该如何逃避这些角色?
我正在使用C#并使用SQL Server Management Studio 2008管理数据库.

解决方法

不要逃避它们.只是不要在SQL中包含值.而是使用参数化SQL并直接为参数提供值.没有转义,没有引用,没有转换 – 并且没有SQL注入攻击的风险.

有关示例,请参见the documentation for SqlCommand.Parameters.

您应该将此应用于所有值 – 而不仅仅是您预期具有“特殊”字符的值.它将代码(SQL)与数据(值)分开,避免了SQL注入攻击,并且还避免了不必要的转换(如果您不小心,这可能会导致日期/时间值和数字出现问题).

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读