微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

插入字符串时我需要检查和转义的字符是什么?

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注入攻击,并且还避免了不必要的转换(如果您不小心,这可能会导致日期/时间值和数字出现问题).

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐