關於網頁設計時的帳號密碼
先說帳號密碼的特性
帳號密碼,最精準的方式,是把使用者輸入進去的字
轉換成位元,然後比對每一個位元都要一模一樣,才算是通過驗證
為什麼幾乎所有網站對於帳號密碼,都限定只能使用英文字母及數字
主因是英文字母及數字是單位元編碼
而繁體中文、簡體中文、日文、韓文、全形字等,皆是屬於雙位元編碼
在任何一種語言編碼中,英文及數字的編碼都是一模一樣的
不可能會發生解讀錯誤或轉換錯誤的問題
這也是為什麼在任何狀況下,英文數字都不會變成亂碼的原因
會變成亂碼的都是雙位元字
比方我們網頁設計時最容易碰到的GB、BIG5、UNCODE這三種編碼
同一個中文字在這三種編碼裡的值都是不一樣的
另一方面,網頁設計時,還會遇到輸入法、瀏覽器的語系設定,作業系統的語系設定,網站伺服器的版本解讀不同
可能導致輸入進去的雙位元字被解讀成錯誤的編碼
再來是特殊符號
為什麼一般都不接受特殊符號,就算能接受,也只會接受少數幾種特殊符號?
這是因為有很多特殊符號進入瀏覽器後,及被程式讀取後,會產生問題
因為只要是電腦上運作的東西,都會有所謂的關鍵字、保留字
而通常都用到特殊符號
比方單引號' 雙引號" 分號; & < > + 等
或多或少可能會造成判別錯誤
大多數能接受的特殊字元,只限 「-」「_ 」
也因為帳號密碼等資料,是屬於長久性的資料,相容性非常重要,不應該因為升級了或換了一個主機,就變成出問題
所以一般系統的登入功能,輸入帳號密碼,大家都已經有共識,不使用雙位元字、特殊符號來當成帳號密碼的判別資料
出處:https://www.eki.com.tw/news/20080627174341.htm
張貼留言