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