自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

如何使用SonarQube分析代碼并查找漏洞?

譯文
開發(fā) 前端
SonarQube是一款基于Web的工具,可幫助開發(fā)人員生成沒有安全問題、錯(cuò)誤、漏洞、異常和一般問題的代碼。如果您在開發(fā)一個(gè)小項(xiàng)目,那可能很容易,您可以仔細(xì)檢查代碼以發(fā)現(xiàn)任何問題。但如果您在開發(fā)一個(gè)大項(xiàng)目(或眾多小項(xiàng)目),可能沒時(shí)間梳理自己編寫的每一行代碼。

[[394523]]

【51CTO.com快譯】SonarQube是一款基于Web的工具,可幫助開發(fā)人員生成沒有安全問題、錯(cuò)誤、漏洞、異常和一般問題的代碼。如果您在開發(fā)一個(gè)小項(xiàng)目,那可能很容易,您可以仔細(xì)檢查代碼以發(fā)現(xiàn)任何問題。但如果您在開發(fā)一個(gè)大項(xiàng)目(或眾多小項(xiàng)目),可能沒時(shí)間梳理自己編寫的每一行代碼。

本文介紹如何使用SonarQube代碼分析平臺(tái)這款工具,以便您可以信任自己或別人編寫的代碼。

雖然您已安裝了一款很不錯(cuò)的基于Web的工具,但使用Sonarqube不像您想象的那么簡(jiǎn)單。如果您研讀一下說明文檔,可能會(huì)發(fā)現(xiàn)讓人有點(diǎn)迷糊。

別擔(dān)心,我會(huì)介紹使用Sonarqube掃描“Hello,World!”應(yīng)用程序(用Java編寫)的過程。由于我們最初安裝在Ubuntu Server 20.04上,我會(huì)繼續(xù)使用該平臺(tái)。如果您在不同的操作系統(tǒng)上使用Sonarqube,需要進(jìn)行必要的調(diào)整。

安裝Sonar-scanner

這是大多數(shù)用戶會(huì)迷糊的地方。使用Sonarqube進(jìn)行任何操作之前,必須將sonar-scanner應(yīng)用程序安裝在項(xiàng)目所在的機(jī)器上。我會(huì)使這個(gè)步驟變得更簡(jiǎn)單,將其安裝在托管Sonarqube的同一臺(tái)服務(wù)器上。以下是您的操作方法。

登錄到托管Sonarqube的服務(wù)器,使用以下命令安裝幾個(gè)依賴項(xiàng):

  1. sudo apt-get update && sudo apt-get install unzip wget nodejs -y 

一旦安裝了那些依賴項(xiàng),使用以下命令創(chuàng)建一個(gè)新目錄:

  1. mkdir sonarqube 

使用以下命令切換進(jìn)入該目錄:

  1. cd sonarqube 

下載sonar-scan文件:

  1. wget https://binaries.sonarsource.com/Distribution/sonar-scanner-cli/sonar-scanner-cli-4.2.0.1873-linux.zip 

解壓縮下載的文件:

  1. unzip sonar-scanner-cli-4.2.0.1873-linux.zip 

最后,使用以下命令移動(dòng)新創(chuàng)建的文件夾:

  1. sudo mv sonar-scanner-4.2.0.1873-linux / opt / sonar-scanner 

接下來,我們需要使用以下命令創(chuàng)建sonar-scan配置文件:

  1. sudo nano /opt/sonar-scanner/conf/sonar-scanner.properties 

在該文件中,粘貼以下內(nèi)容:

  1. sonar.host.url=http://SERVER:9000 
  2. sonar.sourceEncoding=UTF-8 

其中SERVER是托管服務(wù)器的IP地址。

保存并關(guān)閉文件。

現(xiàn)在,我們將創(chuàng)建另一個(gè)配置文件,該文件將設(shè)置必要的$ PATH變量。執(zhí)行以下命令:

  1. udo nano /etc/profile.d/sonar-scanner.sh 

在該文件中,粘貼以下內(nèi)容:

  1. #/bin/bash 
  2. export PATH="$PATH:/opt/sonar-scanner/bin" 

保存并關(guān)閉文件。

使用以下命令將sonar-scanner添加到您的路徑:

  1. source /etc/profile.d/sonar-scanner.sh 

使用以下命令驗(yàn)證sonar-scanner在正常運(yùn)行:

  1. sonar-scanner -v 

您應(yīng)該看到幾個(gè)工具的版本號(hào)。成功了!您可以開始進(jìn)行第一次掃描了。

如何掃描您的代碼?

不妨創(chuàng)建一個(gè)Hello, World!應(yīng)用程序示例。使用以下命令創(chuàng)建一個(gè)新目錄:

  1. mkdir Java 

使用以下命令切換進(jìn)入該文件夾:

  1. cd Java 

使用以下命令創(chuàng)建代碼文件:

  1. nano helloworld.java 

在該文件中,粘貼以下內(nèi)容:

  1. // Your Hello, World! java application 
  2. class HelloWorld { 
  3.     public static void main(String[] args) { 
  4.         System.out.println("Hello, World!"); 
  5.     } 

保存并關(guān)閉文件。

現(xiàn)在,回到Sonarqube Web界面,創(chuàng)建一個(gè)新項(xiàng)目(圖1)。

圖1:點(diǎn)擊“創(chuàng)建新項(xiàng)目”,開始該過程

在隨后彈出的窗口(圖2)中,為新項(xiàng)目指定鍵和顯示內(nèi)容的名稱。

圖2:在Sonarqube中命名新項(xiàng)目

在下一個(gè)窗口(圖3)中,您必須為項(xiàng)目生成令牌。為令牌命名,然后點(diǎn)擊“生成”。

圖3:為新項(xiàng)目生成令牌

然后,您將不得不給令牌賦予另一個(gè)名稱,然后點(diǎn)擊“生成”。這將為您顯示令牌。復(fù)制并保存該令牌(因?yàn)橐院蟮膾呙鑼⑿枰?。

點(diǎn)擊“繼續(xù)”,進(jìn)入到下一步。在此窗口(圖4)中,選擇項(xiàng)目的構(gòu)建技術(shù)(我們將選擇“其他”)。

圖4:為您的項(xiàng)目選擇構(gòu)建技術(shù)

然后將提示您輸入有待掃描的操作系統(tǒng)。在本例中,我們將選擇Linux。選擇完畢后,您會(huì)看到在計(jì)算機(jī)上運(yùn)行的命令(圖5)。回到終端窗口,將該命令粘貼到窗口中。

圖5:Sonarqube顯示了您用于掃描的命令

從您的項(xiàng)目目錄內(nèi)運(yùn)行掃描,它將完成掃描工作。片刻之后(取決于項(xiàng)目的大小),它將結(jié)束掃描,掃描結(jié)果會(huì)顯示在Sonarqube Web GUI中(圖6)。

圖6:我們的掃描結(jié)果顯示了一個(gè)非常干凈的項(xiàng)目

明白了,這是一個(gè)簡(jiǎn)單的Hello,World!例子。如果您的項(xiàng)目較大,掃描會(huì)花費(fèi)較長(zhǎng)的時(shí)間,掃描結(jié)果可能不像圖6所示。因此,請(qǐng)閱讀Sonarqube報(bào)告,解決報(bào)告的所有問題。

這是確保您代碼盡可能干凈、沒有問題的好方法。別靠自己?jiǎn)为?dú)完成這項(xiàng)任務(wù)。僅需幾個(gè)額外的步驟,您就可以借助一個(gè)平臺(tái),更快速、更可靠地完成這項(xiàng)任務(wù)。

原文標(biāo)題:How to Analyze Code and Find Vulnerabilities with SonarQube,作者:Jack Wallen

【51CTO譯稿,合作站點(diǎn)轉(zhuǎn)載請(qǐng)注明原文譯者和出處為51CTO.com】

責(zé)任編輯:華軒 來源: 51CTO
相關(guān)推薦

2018-11-14 10:20:15

SonarQube開源追蹤代碼

2021-11-08 16:10:41

漏洞SonarQube安全工具

2020-11-27 08:00:00

開發(fā)分析工具web

2024-11-27 08:00:00

代碼圖代碼分析開發(fā)

2023-04-20 08:01:13

2021-02-25 07:10:57

SonarQube代碼掃描代碼基線

2017-05-02 09:02:14

2022-02-17 09:41:04

bitnamidockersonarqube

2020-10-08 13:44:27

漏洞

2017-08-22 13:45:27

2020-09-03 16:31:00

代碼技能工具

2020-09-03 13:41:03

Graudit安全漏洞開源工具

2014-08-27 16:22:19

2009-10-29 18:28:50

偽裝木馬清除木馬病毒

2023-03-03 08:30:11

Linux開放的端口

2013-01-11 09:41:34

2022-06-23 09:00:00

JavaScriptHTML應(yīng)用程序

2020-10-25 08:28:36

異常詞匯漏洞代碼

2020-10-05 22:17:39

GitHub代碼開發(fā)者

2014-10-23 09:40:57

點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)