什么是非法字符?

2024-11-21 18:07:15
推荐回答(5个)
回答1:

非法字符并不是指某个字符是非法的,而是某个字符不能出现在某个定义的规则里面。

例子:

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 ,'=等等。

参考资料:非法字符百度百科



回答2:

非法字符并不是指某个字符是非法的,而是某个字符不能出现在某个定义的规则里面。

比如某些游戏中的昵称不允许使用空格,那么空格就是其中的非法字符。

扩展资料:

具体例子:

1、比如在操作系统的文件(夹)命名里,它有自己的一套规则:\ / * ? : | 等字符不能出现在名称里面。 因此在此规则里面 字符 \ / * ? : "<> | 都属于非法字符。

2、比如在编程语言 例如C# 变量不能出现以数字开头的名称,像 0tmp 这个变量名称就属于非法的。  

3、比如在java语言中,对于变量名称只能是数字,字母,下划线,$这几种组合,其中不能以数字开头。

参考资料:非法字符-百度百科

回答3:

比较通用的来说,这些字符会造成程序系统的崩溃,降低程序安全性,增加程序使用难度,这些字符可以叫非法字符。
其实有的非法字符是程序设计者在程序中定义的、或者可以避免的字符,有些字符在某些人眼里可能非法,但是在另外一些高级设计师眼里不一定就是非法。
不论asp,php,或者数据库,或者平时使用的小软件都会出存在的。

回答4:

  如单引号、双引号、分号、空格、<、>、seqing、yinhui(由于用中文不准提交所以用拼音)等等。
  一般汉字和英文之外的一些符号或者一些敏感的词汇。都有可能是非法符。
  还有,一些没有设定的字符,如* & %4 # ? 如果这些没有被设定可用,也叫非法字符。
  机关名称\领导人名字\特殊历史时期名词,这些可能都是敏感词语而视为非法字符。

回答5:

HTML 语言里面的tag用到了访问页面提交表单让你程序发生错误的的时候 就成了非法字符了

楼主要想过滤我可以给你一个完全过滤的函数 而且还可以设定有效的长度

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"); //

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
}