最近有一個(gè)客戶原先的服務(wù)器快到期了,不打算續(xù)費(fèi)了,決定放在公司這邊托管,于是就著手進(jìn)行遷移工作。沒(méi)想到遷移后,有一個(gè)系統(tǒng)碰到了不少問(wèn)題,排查下去都是開發(fā)的時(shí)候太過(guò)隨意造成的。
很多客戶定制系統(tǒng)時(shí),往往最在意的是價(jià)格從而忽視了開發(fā)質(zhì)量等其他細(xì)節(jié),等到發(fā)現(xiàn)問(wèn)題費(fèi)時(shí)費(fèi)力。那么奇站網(wǎng)絡(luò)今天就從這個(gè)真實(shí)案例來(lái)詳情分析,軟件開發(fā)中可能踩到的有那些陷阱。
1、目錄不區(qū)分大小寫
遷移完成后,客戶反映該系統(tǒng)一直無(wú)法登錄。查看后臺(tái)代碼,排查數(shù)據(jù)庫(kù)連接,排查session是否正常,查找了一圈都是正常。再仔細(xì)對(duì)比了代碼跟項(xiàng)目實(shí)際目錄,最于發(fā)現(xiàn)導(dǎo)致問(wèn)題的罪魁禍?zhǔn)祝耗夸洸粎^(qū)分大小寫。
通常情況下開發(fā)人員都是在windows電腦下開發(fā),開發(fā)完成后才上傳服務(wù)器。windows系統(tǒng)是不區(qū)分目錄大小寫的,例如在windows系統(tǒng)下,Abc文件夾,在代碼中寫abc這樣的名稱也是正常的。
但是對(duì)于linux系統(tǒng),它是區(qū)分大小寫的。而廈門奇站網(wǎng)絡(luò)全部采用Linux系統(tǒng),一方面統(tǒng)一管理,另一方面安全性更高,這樣一來(lái)客戶原來(lái)是部署在windows下,遷移到新服務(wù)器就出錯(cuò)了。
2、代碼中數(shù)據(jù)庫(kù)名稱不區(qū)分大小寫
解決完系統(tǒng)登錄的問(wèn)題,又發(fā)現(xiàn)后臺(tái)的功能全部不能使用。排查到sql就發(fā)現(xiàn),代碼中的表名竟然跟數(shù)據(jù)庫(kù)中不一致?
最后只能通過(guò)手動(dòng)設(shè)置mysql的參數(shù),開啟“表名不區(qū)分大小寫”的參數(shù)。
3、隨處可見的拼接sql語(yǔ)句
打開代碼文件,看到許多地方的都使用了拼接sql來(lái)查詢數(shù)據(jù),這其實(shí)是比較危險(xiǎn)的寫法。拼接sql的最大危害就是給了黑客sql注入的可能,導(dǎo)致網(wǎng)站或系統(tǒng)被黑,輕則被掛非法鏈接,重則被掛木馬病毒,數(shù)據(jù)被盜、丟失等等。
由此可見不規(guī)范的開發(fā)問(wèn)題有多嚴(yán)重。
輕微的影響可能是系統(tǒng)換個(gè)空間或服務(wù)器就無(wú)法使用,這時(shí)沒(méi)有專業(yè)的人員排查,根本無(wú)法解決。嚴(yán)重的話系統(tǒng)被攻擊都有可能。
- 版權(quán)所有:奇站網(wǎng)絡(luò) 轉(zhuǎn)載請(qǐng)注明出處
- 廈門奇站網(wǎng)絡(luò)科技有限公司,專業(yè)提供網(wǎng)站建設(shè),響應(yīng)式網(wǎng)站建設(shè),小程序開發(fā),系統(tǒng)定制開發(fā)。
- 軟件開發(fā)咨詢熱線:吳小姐 13313868605