短網(wǎng)址網(wǎng)頁源碼項目相關(guān)的關(guān)鍵技術(shù)
————認(rèn)證資質(zhì)————
- 個人未認(rèn)證
- 企業(yè)未認(rèn)證
- 微信未認(rèn)證
- 手機已認(rèn)證
線上溝通
與商家溝通核實商家資質(zhì)
線下服務(wù)
核實商家身份所有交流確保留有證據(jù)
服務(wù)售后
有保障期的服務(wù)請與商家確定保障實效
服務(wù) | 網(wǎng)站推廣 | 詳細(xì)地址 | 明智大廈 |
短網(wǎng)址網(wǎng)頁源碼項目相關(guān)的關(guān)鍵技術(shù)
短網(wǎng)址網(wǎng)頁項目相關(guān)的關(guān)鍵技術(shù):網(wǎng)頁源碼解析技術(shù)、HASH算法、KMP字符串匹配算法、正則表達(dá)式,并對其中一些技術(shù)在項目中的使用方法、具體實現(xiàn)和使用位置進(jìn)行了說明。
短網(wǎng)址網(wǎng)頁的DOM結(jié)構(gòu)
文件對象模型(Document Object Model,簡稱DOM),是W3C組織推薦的可處理與系統(tǒng)平臺和編程語言無關(guān)的可擴展標(biāo)記語言的標(biāo)準(zhǔn)編程接口。在標(biāo)準(zhǔn)的DOM文檔中,文檔在解析后被轉(zhuǎn)化為DOM樹,樹的每個節(jié)點是一個對象。DOM模型描述了文搜的結(jié)構(gòu),同時還定義了節(jié)點對象的行為,通過將對象的方法和屬性與木馬特征值進(jìn)行匹配,將很大一定程度上提高木馬特征值的匹配效率。網(wǎng)頁DOM樹結(jié)構(gòu)。
短網(wǎng)址網(wǎng)頁源碼解析
在短網(wǎng)址系統(tǒng)中,當(dāng)短網(wǎng)址網(wǎng)頁爬蟲將短網(wǎng)址網(wǎng)頁源數(shù)據(jù)爬取到本地后,系統(tǒng)會開始對短網(wǎng)址網(wǎng)頁源碼進(jìn)行解析。
首先使用jgroup解析器將html文件轉(zhuǎn)化為xhtml,再依據(jù)DOM庫生成xml文件并建立DOM樹。從DOM樹中分別獲取到包含圖片和包含文字的標(biāo)簽,記錄其屬性值,
通過對比屬性檢測頁面內(nèi)容是否被篡改由于DOM樹中的節(jié)點按文檔中的標(biāo)記或信息片段來形成的,在加載整個文檔成功構(gòu)建DOM樹后,將符合網(wǎng)頁掛馬類型的DOM樹節(jié)點的關(guān)鍵字輸出成事件序列,然后根據(jù)運些關(guān)鍵字再與此結(jié)果標(biāo)簽的短網(wǎng)址網(wǎng)頁源碼與數(shù)據(jù)庫中短網(wǎng)址網(wǎng)頁木馬特征規(guī)則屬性值通過KMP字符串匹配算法進(jìn)行比對。這樣從DOM樹節(jié)點中找到關(guān)鍵字后就可以利用樹型模型中的節(jié)點導(dǎo)航尋找特定源碼信息,再與木馬庫的正則表達(dá)式進(jìn)行進(jìn)一步比對,從而確認(rèn)短網(wǎng)址網(wǎng)頁是否被掛馬,此來提高檢短網(wǎng)址網(wǎng)頁木馬的效率,并減少因建立完整DOM樹所消耗的資源。
短網(wǎng)址的Hash算法
短網(wǎng)址Hash算法將任意長度的二進(jìn)制值映射為較短的固定長度的二進(jìn)制值,這個小的二進(jìn)制值稱為Hash值。Hash值是一段數(shù)據(jù)唯一且極其緊湊的數(shù)值表示形式。如果散列一段明文而且哪怕只更改該段落的一個字母,隨后的Hash都將產(chǎn)生不同的值。MD5是一種符合工業(yè)標(biāo)準(zhǔn)的單向128位的Hash方案,MD5典型應(yīng)用是對一段信息(Message)產(chǎn)生信息摘要(Message-Digest),以防止被篡改。
短網(wǎng)址系統(tǒng)在查詢短網(wǎng)址網(wǎng)頁是否被篡改時,先通過tidy工具結(jié)合String類里面的replace函數(shù)替換掉了內(nèi)容基本不會變化的script和style標(biāo)簽,然后通過MD5加密短網(wǎng)址網(wǎng)頁html代碼與模板進(jìn)行對比,若獲取短網(wǎng)址網(wǎng)頁的MD5編碼與模板的相同則說明未篡改,否則進(jìn)行字節(jié)匹配,查詢具體的篡改位置。
短網(wǎng)址正表達(dá)式
正則表達(dá)式,又稱正規(guī)表示法、常規(guī)表示法(英語:Regular Expression,在代碼中常簡寫為regex、regexp或民E),是計算機科學(xué)的一個概念。正則表達(dá)式使用單個字符串來描述、匹配一系列符合某個句法規(guī)則的字符串。在很多文本編輯器里,正則表達(dá)式通常被用來檢索、替換那些符合某個橫式的文本。
許多程序設(shè)計語言都支持利用正則表達(dá)式進(jìn)行字符串操作。正則表達(dá)式的匹配都是通過正則表達(dá)式引擎實現(xiàn)的。正則表達(dá)式引擎分為兩類:基于NFA(Nondeterministic Finite Automata,非確定型有巧狀態(tài)自動機巧日基于DFA(Deterministic Finite Automaton,確定型有窮狀態(tài)自動機)的引擎。在正則表達(dá)式匹配過程中,遵循兩條重要的規(guī)則:1、優(yōu)先選擇左端的結(jié)果2、對標(biāo)準(zhǔn)匹配量詞m,n、+、、優(yōu)先使用貪婪模式。
在短網(wǎng)址系統(tǒng)中也多次用到正則表達(dá)式,與Pattern和Matcher配合使用,使問題能更方便高效地得到解決。
原文來自:980.so
2)確認(rèn)收貨前請仔細(xì)核驗產(chǎn)品質(zhì)量,避免出現(xiàn)以次充好的情況。
3)該信息由排行8用戶自行發(fā)布,其真實性及合法性由發(fā)布人負(fù)責(zé),排行8僅引用以供用戶參考,詳情請閱讀排行8免責(zé)條款。查看詳情>