gpt4 book ai didi

c# - 我需要在 SQL 查询中转义哪些字符

转载 作者:行者123 更新时间:2023-11-30 13:09:25 26 4
gpt4 key购买 nike

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

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 注入(inject)攻击的风险。

参见 the documentation for SqlCommand.Parameters举个例子。

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

关于c# - 我需要在 SQL 查询中转义哪些字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14015045/

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