sql 非法字符有:1、单引号’;2、 双引号”;3、 英文分号;;4、–;5、英文逗号,;6、叹号!;7、~;8、@;9、$;10、%;11、^;12、/;13、空格;14、_;15、>;16、<。单引号’是SQL的标准字符符号,所以在SQL语句中间遇到 ‘ 时要做特殊处理。
一、sql 非法字符
- 单引号’
- 双引号”
- 英文分号;
- —
- 英文逗号,
- 叹号!
- ~
- @
- $
- %
- ^
- /
- 空格
- _
- >
- <
二、排除SQL非法字符
private static string[] StrBadWord()
{
string[] Bad = new string[] { "'", """, ";", "--", ",", "!", "~", "@", "$", "%", "^", "/", " ", "_", ">", "<" };
return Bad;
}
/// <summary>
/// 检查SQL是否存在非法 True包含非法字符,False不包含
/// </summary>
/// <param name="getkeys">字符串</param>
/// <returns>True包含非法字符,False不包含</returns>
public static bool CheckSQL(string getKeys)
{
if (string.IsNullOrEmpty(getKeys))
{
return false;
}
string[] SBW = StrBadWord();
bool IsOk = false;
foreach (string str in SBW)
{
if (getKeys.Contains(str))
{
IsOk = true;
return IsOk;
}
}
return IsOk;
}
三、替换非法字符
下面这里面替换的都为非法字符
'fString=replace(fString, ";", ";")
'fString=replace(fString, "--", "——")
'fString=replace(fString, "%20", "")
'fString=replace(fString, "==", "")
'fString=replace(fString, ">", ">")
'fString=replace(fString, "
'fString=Replace(fString, CHR(32), " ")
'fString=Replace(fString, CHR(9), " ")
'fString=Replace(fString, CHR(34), """)
'fString=Replace(fString, CHR(39), "'")
'fString=Replace(fString, CHR(13), "")
'fString=Replace(fString, CHR(10) & CHR(10), " ")
'fString=Replace(fString, CHR(10), " ")
延伸阅读
非法字符定义
非法字符并不是指某个字符是非法的,而是某个字符不能出现在某个定义的规则里面。比如在操作系统的文件(夹)命名里,它有自己的一套规则:\ / * ? : | 等字符不能出现在名称里面。 因此在此规则里面 字符 \ / * ? : “<> | 都属于非法字符。比如在编程语言 例如C# 变量不能出现以数字开头的名称,像 0tmp 这个变量名称就属于非法的。比如在java语言中,对于变量名称只能是数字,字母,下划线,$这几种组合,其中不能以数字开头。
文章标题:sql 非法字符 有哪些,发布者:Z, ZLW,转载请注明出处:https://worktile.com/kb/p/35063