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