㈠ 什麼是非法字元,非法字元都有哪些
非法字元並不是指某個字元是非法的,而是某個字元不能出現在某個定義的規則裡面。
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 ,'=等等。