代碼檢測注意點(diǎn)

  • 梭哈式的拷貝代碼
    問題:看到很多代碼都沒有使用到,但是拷貝工程的時(shí)候把所以的都拷貝了,然后稍微修改下,不管有用沒有。 這樣子的代碼冗余太多,后期可讀性差。

反例:還有很多,就不一一列舉了。

image.png

image.png

  • mybatis 能用#就別用$
image.png

建議能用#就別用$ #會(huì)比較大程度的防止sql注入

  • System.out.println 打印日志
    以后程序里面不要用System.out.println 這種來打印信息,如果都用這個(gè)來打印會(huì)照成性能低下,程序阻塞。


    image.png
  • 工具類什么的正常就不要寫main()方法,建議寫測試類


    image.png
  • mybatis mapper.xml不建議寫超長sql

    1. 可讀性差
    2. 還包含復(fù)雜運(yùn)算,嚴(yán)重影響性能。
      可以采用Java來做運(yùn)算處理,不是很建議占用數(shù)據(jù)庫資源。
  • 密鑰管理:硬編碼加密密鑰問題
    危害: 密鑰硬編碼在代碼中導(dǎo)致的直接結(jié)果就是代碼在哪里,密鑰就在哪里。研發(fā)人員電腦上存在密鑰,如果電腦被攻擊則密鑰也會(huì)被泄漏。其次研發(fā)人員會(huì)因?yàn)闆]有安全意識,將代碼上傳至各類私有云盤或家里電腦又或是U盤中,導(dǎo)致風(fēng)險(xiǎn)面增大。更有甚者,將代碼上傳至GitHub,而忽略了代碼中的硬編碼密鑰,從而被惡意著利用

案例:比如這次代碼檢驗(yàn),我們就把對應(yīng)密鑰信息給暴露給檢測商了。廠商可以直接使用該密鑰。
解決方案:核心點(diǎn)在于密鑰需要和代碼分離,盡可能少的讓密鑰被人接觸到

  1. 環(huán)境變量/配置文件
  2. 通過配置管理中心來管理配置
image.png
  • 弱加密問題
    問題: 使用 DES 算法生成的密鑰短,僅有56位,運(yùn)算速度較慢,而且DES算法完全依賴密鑰,易受窮舉搜索法攻擊
    解決辦法: AES算法替代DES算法,AES最少可生成128位,最高256位的密鑰,且運(yùn)算速度快,占用內(nèi)存低。
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容