什么是非法字符?
非法字符并不是指某个字符是非法的,而是某个字符不能出现在某个定义的规则里面。
例子:
1、比如在操作系统的文件(夹)命名里,它有自己的一套规则:\ / * ? : | 等字符不能出现在名称里面。 因此在此规则里面 字符 \ / * ? : "<> | 都属于非法字符。
2、比如在编程语言 例如C# 变量不能出现以数字开头的名称,像 0tmp 这个变量名称就属于非法的。
3、比如在java语言中,对于变量名称只能是数字,字母,下划线,$这几种组合,其中不能以数字开头。
扩展资料:
应用:
在web编程中,由于服务器会接受来自客户端的请求,编程人员就要确保请求而来的字符数据的合法性,像对数据库的敏感性操作的T-SQL语言的关键字“select,update,delete,insert,table,while 1==1,name like '*'等等都是非法的请求字符。
在ASP中的一些特殊字符只能是见网页代码编写者用的,如果别人也在上面用的话就可以构成攻击代码,比如SQL注入攻击,所以有时就要屏蔽掉,比如select delete,update,insert ,'=等等。
参考资料:非法字符百度百科
非法字符并不是指某个字符是非法的,而是某个字符不能出现在某个定义的规则里面。
比如某些游戏中的昵称不允许使用空格,那么空格就是其中的非法字符。
扩展资料:
具体例子:
1、比如在操作系统的文件(夹)命名里,它有自己的一套规则:\ / * ? : | 等字符不能出现在名称里面。 因此在此规则里面 字符 \ / * ? : "<> | 都属于非法字符。
2、比如在编程语言 例如C# 变量不能出现以数字开头的名称,像 0tmp 这个变量名称就属于非法的。
3、比如在java语言中,对于变量名称只能是数字,字母,下划线,$这几种组合,其中不能以数字开头。
参考资料:非法字符-百度百科
其实有的非法字符是程序设计者在程序中定义的、或者可以避免的字符,有些字符在某些人眼里可能非法,但是在另外一些高级设计师眼里不一定就是非法。
不论asp,php,或者数据库,或者平时使用的小软件都会出存在的。
2018-07-06 · 只找对的律师,不找贵的律师
一般汉字和英文之外的一些符号或者一些敏感的词汇。都有可能是非法符。
还有,一些没有设定的字符,如* & %4 # ? 如果这些没有被设定可用,也叫非法字符。
机关名称\领导人名字\特殊历史时期名词,这些可能都是敏感词语而视为非法字符。
楼主要想过滤我可以给你一个完全过滤的函数 而且还可以设定有效的长度
public static string InputText(string text, int maxLength)
{
#region
text = text.Trim();
if (string.IsNullOrEmpty(text))
return string.Empty;
if (text.Length > maxLength)
text = text.Substring(0, maxLength);
text = Regex.Replace(text, "[\\s]{2,}", " "); //two or more spaces
text = Regex.Replace(text, "(<[b|B][r|R]/*>)+|(<[p|P](.|\\n)*?>)", "\n"); //<br>
text = Regex.Replace(text, "(\\s*&[n|N][b|B][s|S][p|P];\\s*)+", " "); //
text = Regex.Replace(text, "<(.|\\n)*?>", string.Empty); //any other tags
text = text.Replace("'", "''");
return text;
#endregion
}