1. 代碼質(zhì)量管理的一些思路

        共 1645字,需瀏覽 4分鐘

         ·

        2021-03-16 21:31

        現(xiàn)在程序員的能力參差不齊,有科班出身的;也有半路出家的。如何提高代碼的質(zhì)量,對(duì)系統(tǒng)的魯棒性(穩(wěn)定性)非常重要。


        0x01:編寫規(guī)范的代碼

        在編寫代碼時(shí),給包名、類名、類屬性等做一定的規(guī)范??梢赃_(dá)到見名知意的效果。具體可以參考《阿里巴巴Java開發(fā)手冊(cè)》

        鏈接: https://pan.baidu.com/s/1ANvBu1hidnvRCZILDGXuQA 
        密碼: ugq8

        一些常見的模式

        • 項(xiàng)目jar命名:系統(tǒng) - 模塊。例如,cms-user

        • package命名:按照模塊、controller、service、dao模式命名。例如,控制器層com.user.controller,服務(wù)層com.user.service,持久層com.user.dao。

        • 工具類包:com.common.utils

        • 類名:控制器類UserController,服務(wù)類UserService,持久類UserDao

        • 生成器功能的類可以命名成XXXGenterator

        • 加載器功能的類可以命名成XXXLoader

        具體其他的規(guī)則參考《阿里巴巴Java開發(fā)手冊(cè)》,就非常規(guī)范了。


        0x02:靜態(tài)掃描

        根據(jù)約定的規(guī)范編寫出來(lái)的代碼,雖然達(dá)到了統(tǒng)一規(guī)范,但是并不能規(guī)范代碼編寫的風(fēng)格。例如,沒(méi)有按規(guī)范使用日志框架打印日志,而使用了System.out;沒(méi)有按規(guī)范關(guān)閉輸入流 / 輸出流。這種代碼質(zhì)量的問(wèn)題,則需要使用一些靜態(tài)代碼掃描工具,進(jìn)行掃描,然后再進(jìn)行修復(fù)。例如,使用 sonar 靜態(tài)代碼掃描,sonar 由2部分組成,分別是 SonarQube 平臺(tái),SonarScanner掃描器。

        SonarQube: WEB 界面管理平臺(tái)

        • 展示所有的項(xiàng)目代碼的質(zhì)量數(shù)據(jù)

        • 配置質(zhì)量規(guī)則、管理項(xiàng)目、配置通知、配置SCM等

        SonarScanner: 代碼掃描工具

        • 專門用來(lái)掃描和分析項(xiàng)目代碼。支持20+語(yǔ)言

        • 代碼掃描和分析完成之后,會(huì)將掃描結(jié)果存儲(chǔ)到數(shù)據(jù)庫(kù)當(dāng)中,在sonarQube平臺(tái)可以看到掃描數(shù)據(jù)。

        SonarQube 和 SonarScanner 之間的關(guān)系


        以上只是接受了一種靜態(tài)代碼掃描的方案,有錢的大公司也會(huì)購(gòu)買 Fortify,這種大型的商業(yè)軟件進(jìn)行代碼掃描。


        0x03:動(dòng)態(tài)掃描 (安全掃描)

               靜態(tài)掃描就是不運(yùn)行程序,通過(guò)掃描源代碼的方式檢查漏洞;動(dòng)態(tài)掃描則是在運(yùn)行程序下,通過(guò)接口滲透的方式檢查漏洞。在這種方案下,可以檢查到 SQL 注入、XSS 腳本攻擊、越權(quán)、目錄列表等漏洞。這塊常見的解決方案是 IBM 公司的AppScan 安全掃描工具(IBM Security App Scan Standard)。

             AppScan 是 IBM 的一款 web 安全掃描工具,可以利用爬蟲技術(shù)進(jìn)行網(wǎng)站安全滲透測(cè)試,根據(jù)網(wǎng)站入口自動(dòng)對(duì)網(wǎng)頁(yè)鏈接進(jìn)行安全掃描,掃描之后會(huì)提供掃描報(bào)告和修復(fù)建議等。AppScan 有自己的用例庫(kù),版本越新用例庫(kù)越全(用例庫(kù)越全面,對(duì)漏洞的檢測(cè)較全面,被測(cè)試系統(tǒng)的安全性則越高)

        工作原理:

        • 通過(guò)探索了解整個(gè) web 頁(yè)面結(jié)果

        • 通過(guò)分析,使用掃描規(guī)則庫(kù)對(duì)修改的 HTTP Request 進(jìn)行攻擊嘗試

        • 分析 Response 來(lái)驗(yàn)證是否存在安全漏洞

        鏈接:https://pan.baidu.com/s/19TAHl8lYGmE0O753ULyzYA 
        密碼:yvle

        如果想嘗試使用 AppScan 可以參考以上博客

        https://blog.csdn.net/u010013191/article/details/80733170

        喜歡,在看



        瀏覽 87
        點(diǎn)贊
        評(píng)論
        收藏
        分享

        手機(jī)掃一掃分享

        分享
        舉報(bào)
        評(píng)論
        圖片
        表情
        推薦
        點(diǎn)贊
        評(píng)論
        收藏
        分享

        手機(jī)掃一掃分享

        分享
        舉報(bào)
          
          

            1. 91精品国自产在线观看 | 调教自虐极限露出小说 | 激情五月天视频 | 超碰人人人人一夲道 | 激情午夜网 |