眾所周知,Java的生態(tài)環(huán)境相當(dāng)龐大,包含了數(shù)量相當(dāng)可觀的官方及第三方庫(kù)。利用這些庫(kù),可以解決在用Java開發(fā)時(shí)遇到的各類問題,讓開發(fā)效率得到顯著提升。
舉些例子,最常用的官方庫(kù)有java.lang、java.util、java.io、java.sql、java.net等;而至于目前最流行的第三方庫(kù),就有Junit、SLF4J、Google Guava、XStream、JSoup、Gson、Joda Time等,可以說是不勝枚舉。
我到底需要用到哪些Java庫(kù)呢?
某些庫(kù)再熱門也好,你的項(xiàng)目也未必適用。然而即便如此,大部分項(xiàng)目實(shí)際上都還是需要進(jìn)行單元測(cè)試、日志記錄、序列化、代碼規(guī)范化等工作的,因此用一些相關(guān)的Java庫(kù)去解決問題,還是不錯(cuò)的選擇。
下面,我來介紹一些可以用來解決常見開發(fā)問題的熱門Java庫(kù)吧。
1. JUnit
JUnit起源于 xUnit 家族的單元測(cè)試框架,目前可以說是最知名及常用的測(cè)試框架。通過 JUnit,可以輕松地寫出可重復(fù)測(cè)試的代碼。早期版本的JUnit屬于junit.framework 包;而從JUnit 4開始,便轉(zhuǎn)移到了org.junit 包。
JUnit的一大特色在于給開發(fā)者提供了簡(jiǎn)潔的圖形界面,如此一來編寫測(cè)試代碼便更為輕松,開發(fā)的進(jìn)度也得以顯著加快。
Junit允許多個(gè)測(cè)試一個(gè)接一個(gè),或是并發(fā)同時(shí)執(zhí)行,并且會(huì)實(shí)時(shí)返回測(cè)試結(jié)果,而且還帶有進(jìn)度條,提示開發(fā)者測(cè)試進(jìn)度如何。一般當(dāng)測(cè)試正常進(jìn)行時(shí),進(jìn)度條是綠的;而當(dāng)遇到了錯(cuò)誤,就會(huì)變紅。
此外,JUnit還允許開發(fā)者創(chuàng)建測(cè)試套件 (Test Suite) 來查看、檢測(cè)整體的測(cè)試進(jìn)度及測(cè)試期間發(fā)生的副作用。
對(duì)于很多項(xiàng)目而言,單元測(cè)試是非常重要的。JUnit之所以能夠成為Java圈中最熱門的測(cè)試庫(kù),正是因?yàn)樗群?jiǎn)潔又高效。
2. SLF4J
SLF4J 或 Simple Logging Facade for Java,為不同的框架提供了一個(gè)抽象概念,允許開發(fā)人員在部署時(shí)插入任何框架。SLF4J 的功能在于基于外觀模式的簡(jiǎn)單日志 API,并將客戶端 API 與日志后端分開。
通過向 classpath 中添加所需的綁定,可以發(fā)現(xiàn)其后端。由于客戶端 API 和后端完全解耦,因此它可以集成到任何框架或現(xiàn)有的代碼片段。
創(chuàng)建這個(gè)有用的機(jī)制的人是 Ceki Gülcü。 你可以在 SLF4J 下載鏈接傷下載 SLF4J。
3. Google Guava
Google Guava 是Java編程的另一個(gè)受歡迎的Java核心庫(kù),它是開源的,由 Googl 開發(fā)的。Google Guava 項(xiàng)目中包含的庫(kù)可用于每天在谷歌上開發(fā)/升級(jí)的Java的產(chǎn)品。
Google Guava 軟件包中的庫(kù)或多或少是對(duì)核心庫(kù)的對(duì)應(yīng)部分有增強(qiáng)功能,并使編程更加高效和有效。Guava 包括內(nèi)存緩存、不可變**、函數(shù)類型、圖形庫(kù)和可用于 I/O、散列、并發(fā)、原語(yǔ)、字符串處理、反射等等的 API 實(shí)用程序。
4. XStream
當(dāng)涉及將對(duì)象序列化到 XML 中時(shí),XStream 庫(kù)是開發(fā)人員值得信賴的選擇。該庫(kù)允許開發(fā)人員輕松地將對(duì)象序列化為 XML 并返回。
反射是這里的關(guān)鍵,用于識(shí)別在運(yùn)行時(shí)序列化的對(duì)象圖的結(jié)構(gòu)。 對(duì)象不需要修改。 任何內(nèi)部字段都可以使用 XStream 序列化。
說到 XStream 的功能 – 大多數(shù)對(duì)象可以被序列化,并提供特定的映射,提供高性能和低內(nèi)存占用,適用于具有較高吞吐量的大型對(duì)象圖和系統(tǒng),信息不重復(fù),可自定義的轉(zhuǎn)換策略,安全的框架,異常情況下的詳細(xì)診斷等等。
諸如傳輸,配置,持久化和單元測(cè)試等廣泛的應(yīng)用使它成為Java開發(fā)人員社區(qū)中流行的Java庫(kù)。
5. Log4j
Log4j 是 Apache 中的一個(gè)庫(kù),可用作日志工具。該工具最初由 Ceki Gülcü 開發(fā)。 但是現(xiàn)在,Apache Software Foundation 已經(jīng)接管了這個(gè)項(xiàng)目。
Log4j 恰好是其所在應(yīng)用領(lǐng)域中最可靠的庫(kù),可以擴(kuò)展到支持自定義組件配置。配置語(yǔ)法非常簡(jiǎn)單,支持 XML、YAML 和 JSON。
Log4J 提供對(duì)多個(gè)API的支持,可以在白名單應(yīng)用程序中使用不同版本的 Log4j 或 SLF4J。另一個(gè)有趣的功能是它支持用戶自定義的消息對(duì)象。最重要的是,它的工作速度相當(dāng)令人印象深刻。
6. iText
iText 是用于在Java中創(chuàng)建和**作 PDF 文件的Java開源庫(kù)。這個(gè)庫(kù)是由包括布魯諾·洛皮杰(Bruno Lowagie)和保羅·蘇亞雷斯(Paulo Soares)在內(nèi)的團(tuán)隊(duì)創(chuàng)建的。
雖然以前的 iText 版本有很多限制,但最近的版本包括許多新功能,如創(chuàng)建 pdf 的選項(xiàng),將文檔從 XML、HTML、CSS 或數(shù)據(jù)庫(kù)轉(zhuǎn)換為 PDF。生成的 PDF 符合全球通用標(biāo)準(zhǔn)。它還允許在 PDF 中添加交互性并添加數(shù)字簽名。你可以**、合并文檔、導(dǎo)入、更改結(jié)構(gòu)、在 PDF 中添加水印或條形碼 F。
7. jsoup
jsoup 是一個(gè)有用的Java庫(kù),用于處理和解析 HTML。Jsoup 提供了一個(gè)有用的用于提取數(shù)據(jù)的 API。jsoup 中實(shí)現(xiàn)的標(biāo)準(zhǔn)是 WHATWG HTML5。和最新的瀏覽器作法一樣,jsoup 將 HTML 解析為 DOM。
它允許或解析來自任何 URL 或文件的 HTML,例如,你可以獲取 http://noeticforce.com 的主頁(yè)信息,解析它,并將所有 H2 標(biāo)題提取到元素列表中。
它的用途包括清理和**縱 HTML 元素和屬性,以檢索用戶提交的數(shù)據(jù)并過濾掉 XSS 攻擊屬性,使用 jsoup 還可以完成更多功能。
8. Gson
Gson 是 Google 的另一個(gè)庫(kù),它輕而易舉的將JavaObjects 轉(zhuǎn)換成等效的 JSON 表示形式。
雖然有一些允許將Java對(duì)象轉(zhuǎn)換為 JSON 的開源項(xiàng)目,但它們要求您將Java注釋放在您使用的類中。 顯然,如果您無法訪問源代碼,則無法執(zhí)行此**作,此外,大多數(shù)開源項(xiàng)目都不支持Java泛型。 Gson考慮到這些問題。
它提供了簡(jiǎn)單的 toJson()和 fromJson()方法,可用于將Java對(duì)象和 JSON 互相轉(zhuǎn)換。 Gson 庫(kù)允許將不可修改的對(duì)象轉(zhuǎn)換為 JSON 并返回。 如上所述,它為Java泛型提供了極大的支持,并允許對(duì)象的自定義表示。
9. Apache PDF box
Apache PDFBox 是另一個(gè)可用于**作 PDF 文件的開源庫(kù)。這個(gè)項(xiàng)目最初由本·利奇菲爾德(Ben Litchfield)發(fā)起的,后來被 Apache 接管。
PDFBox 的主要功能使其成為超級(jí)庫(kù),其中包括 PDF 創(chuàng)建、將單個(gè) PDF 分割為多個(gè) PDF 文件、合并并提取 PDF 文本的 Unicode 文本,填寫 PDF 表單,根據(jù) PDF/A 標(biāo)準(zhǔn)驗(yàn)證 PDF 文件,將 PDF 保存為圖像并對(duì) PDF 進(jìn)行數(shù)字簽名。
10. Joda Time
這就是我一直強(qiáng)調(diào)的簡(jiǎn)單但功能強(qiáng)大的庫(kù),它節(jié)省了大量的開發(fā)時(shí)間。 Joda-Time 是一個(gè)Java庫(kù),作為Java中日期和時(shí)間類的一個(gè)很好的替代品。
Joda Time 很容易使用,并且像 getYear()或 getDayOfWeek()這樣的屬性訪問器可以直接獲取日期,及其更詳細(xì)的信息。
Joda Time 還提供計(jì)算日期和時(shí)間的功能,并支持幾乎所有需要的日期格式,而且肯定難以用簡(jiǎn)單的 JDK 方法進(jìn)行**。
除了上述 10 個(gè)庫(kù)外,還有許多其他通用于特定領(lǐng)域的Java庫(kù)應(yīng)用于一些小型或大型的項(xiàng)目。以下是其中一些庫(kù):
Ok HTTP
用于通過 HTTP 協(xié)議有效地在現(xiàn)代應(yīng)用程序之間交換數(shù)據(jù)。 Okhttp 在斷網(wǎng)時(shí)恢復(fù)連接,在多個(gè)基于 IP 的服務(wù)中切換 IP 地址。 okhttp 的一個(gè)有用的功能是與現(xiàn)代 TLS(SNI,ALPN)的自動(dòng)連接,并且在發(fā)生故障時(shí)回到 TLS 1.0。
Quartz
這是另一個(gè)通用且有用的Java庫(kù),它集成了任何規(guī)模和大小的Java應(yīng)用程序。 Quartz 庫(kù)可用于創(chuàng)建數(shù)百,數(shù)千或更多的作業(yè),可根據(jù)應(yīng)用需求進(jìn)行擴(kuò)展。 Quartz 具有諸如 JTA 事務(wù)和集群等功能,可用于企業(yè)級(jí)應(yīng)用程序的支持。
Java具有龐大的生態(tài)圈,所以你可以很容易的找到各種各樣的插件庫(kù),你需要做的只是從海量的插件庫(kù)中選出哪一個(gè)對(duì)你的項(xiàng)目更加適合。從頭開發(fā)也是一種選擇,但是當(dāng)你找到了可以自由使用的插件,為什么還要花費(fèi)更多的時(shí)間來重新開發(fā)構(gòu)建呢?
型號(hào)12.5R20
輪胎規(guī)格
12.5R20
輪轂尺寸
20
胎面寬度
295mm
扁平比
80
速度級(jí)別
K
TLSF 軍工輪胎12.5R20 真空輪胎 越野輪胎 東風(fēng)246/東風(fēng)EQ2102車輛輪胎 參數(shù)
詳細(xì)參數(shù)
品牌
通利盛發(fā)(TLSF)
型號(hào)
12.5R20
產(chǎn)地
**北京北京市
CCC認(rèn)證編號(hào)
2005061201001374
生產(chǎn)者(制造商)名稱
雙錢集團(tuán)(江蘇)輪胎有限公司
輪胎規(guī)格
12.5R20
輪轂尺寸
20
胎面寬度
295mm
扁平比
80
速度級(jí)別
K
輪胎特性
常規(guī)胎
花紋性能
越野型
車型類別
卡客車輪胎
openssl 是一個(gè)開源項(xiàng)目,其組成主要包括一下三個(gè)組件:
openssl:多用途的命令行工具
libcrypto:加密算法庫(kù)
libssl:加密模塊應(yīng)用庫(kù),實(shí)現(xiàn)了ssl及tls
openssl可以實(shí)現(xiàn):秘鑰證書管理、對(duì)稱加密和非對(duì)稱加密 。
1、對(duì)稱加密
對(duì)稱加密需要使用的標(biāo)準(zhǔn)命令為 enc ,用法如下:
openssl enc -ciphername [-in filename] [-out filename] [-pass arg] [-e] [-d] [-a/-base64]
[-A] [-k password] [-kfile filename] [-K key] [-iv IV] [-S salt] [-salt] [-nosalt] [-z] [-md]
[-p] [-P] [-bufsize number] [-nopad] [-debug] [-none] [-engine id]
常用選項(xiàng)有:
-in filename:指定要加密的文件存放路徑
-out filename:指定加密后的文件存放路徑
-salt:自動(dòng)插入一個(gè)隨機(jī)數(shù)作為文件內(nèi)容加密,默認(rèn)選項(xiàng)
-e:可以指明一種加密算法,若不指的話將使用默認(rèn)加密算法
-d:解密,解密時(shí)也可以指定算法,若不指定則使用默認(rèn)算法,但一定要與加密時(shí)的算法一致
-a/-base64:使用-base64位編碼格式
示例:
加密:]# openssl enc -e -des3 -a -salt -in fstab -out jiami
解密:]# openssl enc -d -des3 -a -salt -in fstab -out jiami
2、單向加密
單向加密需要使用的標(biāo)準(zhǔn)命令為 dgst ,用法如下:
openssl dgst [-md5|-md4|-md2|-sha1|-sha|-mdc2|-ripemd160|-dss1] [-c] [-d] [-hex] [-binary]
[-out filename] [-sign filename] [-keyform arg] [-passin arg] [-verify filename] [-prverify
filename] [-signature filename] [-hmac key] [file…]
常用選項(xiàng)有:
[-md5|-md4|-md2|-sha1|-sha|-mdc2|-ripemd160|-dss1] :指定一種加密算法
-out filename:將加密的內(nèi)容保存到指定文件中
示例如下:
單向加密除了 openssl dgst 工具還有: md5sum,sha1sum,sha224sum,sha256sum ,sha384sum,sha512sum
示例如下:
3、生成密碼
生成密碼需要使用的標(biāo)準(zhǔn)命令為 passwd ,用法如下:
openssl passwd [-crypt] [-1] [-apr1] [-salt string] [-in file] [-stdin] [-noverify] [-quiet] [-table] {password}
常用選項(xiàng)有:
-1:使用md5加密算法
-salt string:加入隨機(jī)數(shù),最多8位隨機(jī)數(shù)
-in file:對(duì)輸入的文件內(nèi)容進(jìn)行加密
-stdion:對(duì)標(biāo)準(zhǔn)輸入的內(nèi)容進(jìn)行加密
示例如下:
4、生成隨機(jī)數(shù)
生成隨機(jī)數(shù)需要用到的標(biāo)準(zhǔn)命令為 rand ,用法如下:
openssl rand [-out file] [-rand file(s)] [-base64] [-hex] num
常用選項(xiàng)有:
-out file:將生成的隨機(jī)數(shù)保存至指定文件中
-base64:使用base64 編碼格式
-hex:使用16進(jìn)制編碼格式
示例如下:
5、生成秘鑰對(duì)
第一需要先使用 genrsa 標(biāo)準(zhǔn)命令生成私鑰,第二再使用 rsa 標(biāo)準(zhǔn)命令從私鑰中提取公鑰。
genrsa 的用法如下:
openssl genrsa [-out filename] [-passout arg] [-des] [-des3] [-idea] [-f4] [-3] [-rand file(s)] [-engine id] [numbits]
常用選項(xiàng)有:
-out filename:將生成的私鑰保存至指定的文件中
-des|-des3|-idea:不同的加密算法
numbits:指定生成私鑰的大小,默認(rèn)是2048
一般情況下秘鑰文件的權(quán)限一定要控制好,只能自己讀寫,因此可以使用 umask 命令設(shè)置生成的私鑰權(quán)限,示例如下:
ras 的用法如下:
openssl rsa [-inform PEM|NET|DER] [-outform PEM|NET|DER] [-in filename] [-passin arg] [-out filename] [-passout arg]
[-sgckey] [-des] [-des3] [-idea] [-text] [-noout] [-modulus] [-check] [-pubin] [-pubout] [-engine id]
常用選項(xiàng):
-in filename:指明私鑰文件
-out filename:指明將提取出的公鑰保存至指定文件中
-pubout:根據(jù)私鑰提取出公鑰
示例如下:
6、創(chuàng)建CA和申請(qǐng)證書
使用openssl工具創(chuàng)建CA證書和申請(qǐng)證書時(shí),需要先查看配置文件,因?yàn)榕渲梦募袑?duì)證書的名稱和存放位置等相關(guān)信息都做了定義,具體可參考 /etc/pki/tls/openssl.cnf 文件。
(1)、創(chuàng)建自簽證書
第一步:創(chuàng)建為 CA 提供所需的目錄及文件
第二步:指明證書的開始編號(hào)
]# echo 01 >> serial
第三步:生成私鑰,私鑰的文件名與存放位置要與配置文件中的設(shè)置相匹配;
第四步:生成自簽證書,自簽證書的存放位置也要與配置文件中的設(shè)置相匹配,生成證書時(shí)需要填寫相應(yīng)的信息;
命令中用到的選項(xiàng)解釋:
-new:表示生成一個(gè)新證書簽署請(qǐng)求
-x509:專用于CA生成自簽證書,如果不是自簽證書則不需要此項(xiàng)
-key:生成請(qǐng)求時(shí)用到的私鑰文件
-out:證書的保存路徑
-days:證書的有效期限,單位是day(天),默認(rèn)是365天
(2)頒發(fā)證書
在需要使用證書的主機(jī)上生成證書請(qǐng)求,以 httpd 服務(wù)為例,步驟如下:
第一步:在需要使用證書的主機(jī)上生成私鑰,這個(gè)私鑰文件的位置可以隨意定
第二步:生成證書簽署請(qǐng)求
第三步:將請(qǐng)求通過可靠方式發(fā)送給 CA 主機(jī)
第四步:CA 服務(wù)器拿到證書簽署請(qǐng)求文件后頒發(fā)證書,這一步是在 CA 服務(wù)器上做的
查看證書信息的命令為:
(3)吊銷證書
吊銷證書的步驟也是在CA服務(wù)器上執(zhí)行的,以剛才新建的 httpd.crt 證書為例,吊銷步驟如下:
第一步:在客戶機(jī)上獲取要吊銷證書的 serial 和 subject 信息
第二步:根據(jù)客戶機(jī)提交的 serial 和 subject 信息,對(duì)比其余本機(jī)數(shù)據(jù)庫(kù) index.txt 中存儲(chǔ)的是否一致
第三步:執(zhí)行吊銷**作
第四步:生成吊銷證書的吊銷編號(hào) (第一次吊銷證書時(shí)執(zhí)行)
]# echo 01 > /etc/pki/CA/crlnumber
第五步:更新證書吊銷列表
]# openssl ca -gencrl -out /etc/pki/CA/crl/ca.crl
查看 crl 文件命令:
]# openssl crl -in /etc/pki/CA/crl/ca.crl -noout -text
網(wǎng)絡(luò)安全公司 ImmuniWeb 上周發(fā)布了一份報(bào)告,內(nèi)容是針對(duì)百大機(jī)場(chǎng)的公共網(wǎng)站、移動(dòng) App、以及在公共代碼存儲(chǔ)庫(kù)和暗網(wǎng)上暴露敏感數(shù)據(jù)的基本安全檢查。
遺憾的是,在 Top100 國(guó)際機(jī)場(chǎng)中,僅有 3 個(gè)通過了基本的安全檢查,分別是荷蘭阿姆斯特丹的史基普機(jī)場(chǎng)、芬蘭赫爾辛基的萬塔機(jī)場(chǎng)、以及愛爾蘭的都柏林國(guó)際機(jī)場(chǎng)。
【題圖 來自:ImmuniWeb】
ImmuniWeb 指出,這三座機(jī)場(chǎng)不僅可以為航空業(yè)、也能夠?yàn)槠渌a(chǎn)業(yè)提供值得稱道的實(shí)施案例。
【機(jī)場(chǎng)位置分布】
研究涵蓋了 Skytrax 評(píng)選的全球六大區(qū)域的 Top100 機(jī)場(chǎng)(2019 年數(shù)據(jù)),研究過程中以非侵入性方式對(duì)機(jī)場(chǎng)外部 IT 資產(chǎn)的安全性、合規(guī)性、和隱私性展開了檢測(cè)。
【網(wǎng)站安全等級(jí)】
Forrester 在最近的研究中指出,應(yīng)用程序與軟件漏洞,仍是網(wǎng)絡(luò)**分子在外展開攻擊的常見手段。遺憾的是,Top100 中只有 3 個(gè) www 主網(wǎng)站獲得了 A+ 評(píng)級(jí),另有 15 個(gè)網(wǎng)站為 A 評(píng)級(jí)。
【易受攻擊或使用過時(shí)軟件】
在子域名中,ImmuniWeb 觀察到只有 17% 的 Web Apps 獲得了 A 級(jí)評(píng)價(jià),大多數(shù)應(yīng)用程序都在 C ~ F 不等的評(píng)價(jià)。
【子域網(wǎng)站的安全等級(jí)】
Gartner 表示,在采用云端 Web 應(yīng)用程序和 API 保護(hù)服務(wù)的推動(dòng)下,Web 應(yīng)用程序的防火墻(WAF)市場(chǎng)正在增長(zhǎng)。
【W(wǎng)eb Apps 的防火墻使用情況】
然而全球各大機(jī)場(chǎng)運(yùn)行的 Web 應(yīng)用程序中,很少見到 WAF,其僅能保護(hù) 55% 的主網(wǎng)站和 40% 的子域名站點(diǎn)。
主站點(diǎn) TLS 安全性:15 家主網(wǎng)站拿到了 A+ 評(píng)級(jí),38 家為 A,16 家為 B 級(jí)。
子域名 TLS 安全性:表現(xiàn)糟糕很多,308 個(gè)站點(diǎn)為 F,且有 75 個(gè)站點(diǎn)未使用加密連接。
【主站點(diǎn) PCI DSS 合規(guī)性】
盡管 PCI DSS 合規(guī)性并非必須,但它和《通用數(shù)據(jù)保護(hù)條例》(GDPR)都涵蓋了對(duì)基礎(chǔ)安全性的要求。
自 2018 年 5 月實(shí)施以來,已有有超過 16 萬的數(shù)據(jù)泄露通知,罰款金額為 1.14 億歐元。
讓人震驚的是,只有 27 個(gè)主站點(diǎn)符合 PCI DSS 要求。至于 GDPR 合規(guī)性,也只有 24% 的主站點(diǎn)(24 / 100)和 12% 的子域(158 / 1364)達(dá)標(biāo)。
【郵件服務(wù)器的 TLS 安全性】
在 147 個(gè)用于接收或中繼電子郵件的服務(wù)器中,幾乎一半(48%)不支持 SSL / TLS 加密,使得攻擊者可輕松展開中間人攻擊,攔截流量、并以純文本格式閱讀電子郵件通信。
大約 21% 的郵件服務(wù)器(32)獲得 A 級(jí)評(píng)價(jià),其余 44 臺(tái)服務(wù)器的 SSL / TLS 實(shí)施易受攻擊(較差),且大多數(shù)為 C / F 級(jí)。
【移動(dòng)安全漏洞風(fēng)險(xiǎn)等級(jí),基于 CVSSv3 評(píng)分】
這項(xiàng)研究中,ImmuniWeb 找到并測(cè)試了屬于機(jī)場(chǎng)的 36 款官方 App,結(jié)果發(fā)現(xiàn)了 530 個(gè)安全和隱私問題,包括 288 個(gè)移動(dòng)安全漏洞(每個(gè) App 平均 15 個(gè))。
【OWSAP 十大移動(dòng)風(fēng)險(xiǎn)分布】
至于移動(dòng)后端(Web 服務(wù)或 API),只有 55% 的傳出連接使用了恰當(dāng)?shù)?TLS 加密來保護(hù)傳輸中的用戶數(shù)據(jù)。
【移動(dòng) App 后端 TLS 加密】
27% 的連接以明文發(fā)送信息,且根本未使用加密(N 級(jí))。5.7% 使用過時(shí)、且易受攻擊的 SSLv3 協(xié)議,成績(jī)?yōu)椴缓细瘢‵ 級(jí))。
【暗網(wǎng)暴露風(fēng)險(xiǎn)等級(jí)】
對(duì)結(jié)果進(jìn)行篩查后,ImmuniWeb 發(fā)現(xiàn) Top100 機(jī)場(chǎng)中有 66 個(gè),以一種或另一種方式在暗網(wǎng)上暴露。如圖所示,有 13 個(gè)機(jī)場(chǎng)有重大的泄露或暴露風(fēng)險(xiǎn)。
【代碼存儲(chǔ)庫(kù)暴露風(fēng)險(xiǎn)等級(jí)】
最后,在 Top100 機(jī)場(chǎng)中,有 87 個(gè)在某些公共代碼存儲(chǔ)庫(kù)(如 GitHub 或 Bitbucket)中公開了一些敏感或內(nèi)部數(shù)據(jù)。其中識(shí)別出了 59 個(gè)機(jī)場(chǎng),存在著 227 個(gè)具有嚴(yán)重風(fēng)險(xiǎn)的代碼泄露。
自駕游,就來河北蔚縣。南部山區(qū)分布著五大峪口,自東向西分別為赤崖峪、金河口峪、松枝口峪、九宮口峪、北口峪、石門峪,其中第一二個(gè)峪口不能進(jìn)車,有溪流。其余三個(gè)均為自駕天堂。
松枝口峪比較好玩的有輝川溪流、充滿傳奇色彩的地河、嶺南瀑布、鄭家莊子石頭村、榆皮瓦片屋等;
九宮口峪從干河峪或小天山可通往北口峪,比較出名的景點(diǎn)包括小天山、東甸子梁、王喜洞、茶山、閣上(黑龍?zhí)叮?、南溝等,白家莊子是南山典型的石頭村;
北口峪可通往四十里飛狐峪、空中草原,從燕王逼子(閻王鼻子)—笊籬洼—下戰(zhàn),可通往石門峪,比較出名的有尖山、馬蹄梁、岔道八仙洞、一炷香、劍眼、寶鏡、怪坡、兵工場(chǎng)等;
石門峪位于五大峪口最西,也是最容易暴發(fā)山洪的峪口,難怪它的沖擊扇盛產(chǎn)最好吃的小米和加工黃糕面的黍子,往南可上空中草原,通往山西靈丘。
五大峪口,盛景無限。自駕游蔚縣,形象自然深!
]]>