專利名稱::消除超文本標記語言中有害代碼的方法
技術領域:
:本發(fā)明涉及計算機網絡技術,特別涉及一種消除超文本標記語言(HyperTextMarkedlanguage,HTML)中有害代碼的方法。
背景技術:
:超文本標記語言是一種用來制作超文本文檔的簡單標記語言。超文本傳輸協(xié)議(HyperTextTransportationProtocol,HTTP)規(guī)定了運行HTML文檔時所遵循的規(guī)則和進行的操作。用HTML編輯的超文本文檔為HTML文檔,它能應用于各種才喿作系統(tǒng)平臺。自1990年以來HTML就一直被用作WWW(WorldWideWeb,萬維網,也可筒寫為Web)的信息表示語言。HTML的普遍應用帶來了超文本的效果,即用戶可以通過點擊鏈接轉入相關的主題,發(fā)送電子郵件,填寫表單并聯(lián)機提交,以及訪問數據庫和信息資源。其中,無論Web頁面包括動畫、多々某體、圖形還是其它復雜格式的內容,其基礎都是HTML。圖1示出了典型的包含用戶所在的客戶端、服務器和數據庫的網絡結構。用戶使用客戶端,通過網絡服務器提供的Web頁面輸入帶有HTML代碼的內容,服務器將該內容存入數據庫,當用戶請求顯示之前輸入的內容時,數據庫將該內容通過服務器發(fā)送給用戶所在的客戶端。用戶使用客戶端從網絡服務器提供的Web頁面獲取信息時,Web頁面上可以提供輸入框,讓用戶輸入帶有HTML內容的信息,之后,網絡服務器進行信息處理并與用戶之間進行信息交互。用戶在輸入帶有HTML內容的信息時,實際上輸入的是包括帶有HTML內容的代碼。但是,用戶輸入的可能是一些錯誤的HTML代碼,或者輸入的是一些特殊的符號,例如"<",">","'"之類的特殊符號,這些特殊符號對應特殊的HTML代碼,再或者是用戶輸入信息時,機器產生冗余而形成錯誤的HTML代碼。這些情況下,如果網絡服務器在進行信息處理和與用戶之間交互的過程中不對這些特殊或錯誤的HTML代碼做一定處理的話,很可能在顯示這些HTML代碼時導致Web頁面布局等出現(xiàn)不能正常顯示的問題,會P爭低服務器的性能,因此這些特殊或錯誤的HTML代碼是有害的。另外,有很多木馬攻擊的方式都是通過輸入有害的HTML代碼或者Javascript代碼來利用系統(tǒng)漏洞對網絡實施攻擊,影響了服務器的安全性。為了避免以上的問題,現(xiàn)有技術中有一種消除HTML語言中有害代碼的方法是這樣處理的使用一種稱為ubbcode的簡化HTML格式,其比HTML具有更安全的網頁代碼。該方法通過禁止用戶輸入HTML代碼,而是只允許用戶輸入指定的ubb代碼來代替HTML代碼,然后在服務器端將ubb轉換為HTML后再執(zhí)行后續(xù)的操作,以保障服務器性能的同時提高系統(tǒng)的安全性。但是,該方法要求用戶熟悉ubb,而普通用戶只想通過簡單的復制粘貼等操作提交HTML內容,因此,對不熟悉ubb的用戶來說,該方法難以實現(xiàn)。另外,即使是熟悉ubb的用戶,在使用時也需要手動或者通過工具把要輸入的HTML代碼轉換為指定的ubb代碼,這樣,影響了用戶使用時的感受。
發(fā)明內容本發(fā)明的目的是提供一種消除超文本標記語言中有害代碼的方法,以克服顯示HTML代碼時導致的Web頁面布局等不正常顯示的問題及服務器安全性受破壞的問題,還克服了現(xiàn)有技術中難以實現(xiàn)不熟悉ubb的用戶輸入過程中消除有害HTML代碼的缺點和影響用戶感受的缺點。為解決上述」汰術問題,本發(fā)明提供一種消除超文本標記語言中有害代碼的方法是這樣實現(xiàn)的一種消除超文本標記語言HTML中有害代碼的方法,包括步驟遍歷解析輸入的HTML代碼過程中補齊不完整的HTML標簽;根據預定義的規(guī)則對HTML代碼進行過濾;遍歷解析經補齊和過濾的HTML代碼過程中對HTML代碼根據需求按照預置的對應操作進行修正;根據預置的代碼表將HTML代碼中瀏覽器非標準代碼轉換為標準代碼。所述根據預定義的規(guī)則進行過濾由以下方式實現(xiàn)預定義保留規(guī)則保留標簽庫中存儲允許接收的HTML標簽,對符合保留標簽庫的標簽做保留處理;預定義去除規(guī)則去除標簽庫中存儲不允許接收的HTML標簽,對符合去除標簽庫的標簽做去除處理;預定義默認規(guī)則對不在保留標簽庫和去除標簽庫中的標簽僅去除其HTML標簽,保留該標簽下的內容;根據預定義的保留規(guī)則、去除規(guī)則和默認規(guī)則對解析結果進行過濾。預定義規(guī)則進一步包括增加和/或減少和/或改變所述保留標簽庫和/或去除標簽庫中的標簽。所述修正步驟由以下方式實現(xiàn)根據檢驗父子關系正確性的需求,根據對應的刪除操作,刪除父子關系不正確的節(jié)點;和/或根據檢驗超鏈接正確性的需求,利用正則表達式對不正確的超鏈接按照對應的操作進行刪除,或以普通文本進行處理;和/或根據限制輸入的HTML代碼內容的需求,根據預置的惡意代碼庫和/或根據預置的限制詞匯庫,利用正則表達式刪除或替換該惡意代碼和/或詞匯。所述轉換步驟由以下方式實現(xiàn)根據預置的轉換代碼表,將HTML的文本中特殊代碼和/或語法關鍵字轉換為標準代碼。所述補齊和過濾步驟在兩次遍歷解析過程中分別完成。所述修正和轉換步驟在兩次遍歷解析過程中分別完成。所述遍歷解析采用SAX解析或HTMLDOM解析。一種提交和回顯包含HTML內容的方法,由以下步驟實現(xiàn)A.用戶通過終端輸入包含HTML代碼的內容并提交到服務器;B.服務器將用戶提交的包含HTML代碼存入數據庫;C.用戶請求顯示所述輸入的包含HTML代碼的內容;D.數據庫發(fā)送用戶請求的包含HTML代碼的內容到服務器;E.服務器對收到包含HTML代碼的內容進行以下處理遍歷解析輸入的HTML代碼過程中補齊不完整的HTML標簽;根據預定義的規(guī)則對HTML代碼進行過濾;遍歷解析經補齊和過濾的HTML代碼過程中對HTML代碼根據需求按照預置的對應操作進行修正;根據預置的代碼表將HTML代碼中瀏覽器非標準代碼轉換為標準代碼;F.將經過處理的包含HTML代碼的內容發(fā)送到客戶端并顯示。一種提交和回顯包含HTML內容的方法,由以下步驟實現(xiàn)A.用戶通過終端輸入包含HTML代碼的內容,并才是交到服務器;B.服務器對收到包含HTML代碼的內容進行以下處理遍歷解析輸入的HTML代碼過程中補齊不完整的HTML標簽;根據預定義的規(guī)則對HTML代碼進行過濾;遍歷解析經補齊和過濾的HTML代碼過程中對HTML代碼根據需求按照預置的對應操作進行修正;根據預置的代碼表將HTML代碼中瀏覽器非標準代碼轉換為標準代碼;C.將經過處理的包含HTML代碼的內容發(fā)送到數據庫;D.用戶請求顯示之前輸入的包含HTML代碼的內容;E.數據庫發(fā)送用戶請求的包含HTML代碼的內容經由到服務器到客戶端。由以上本發(fā)明提供的技術方案可見,本發(fā)明在包含HTML代碼的內容經過服務器的過程中,由服務器通過對這些代碼進行補齊、過濾、修正和轉換處理,消除了超文本標記語言中的有害代碼,使網頁能夠正常顯示,從而保障了服務器的性能,同時提高了服務器的安全性,并在該過程中不影響用戶的感受。圖l為包含用戶客戶端、服務器和數據庫的網絡結構圖2為本發(fā)明消除HTML中有害代碼方法的一個實施例的流程圖3為本發(fā)明提交和回顯包含HTML內容方法的一個實施例的流程圖4為本發(fā)明提交和回顯包含HTML內容方法的另一實施例的流程圖。具體實施例方式本發(fā)明的核心是包含HTML代碼的內容經過服務器的過程中,由服務器通過對這些代碼進行補齊、過濾、修正和轉換步驟來消除其中的有害代碼。具體實施時,可以是用戶輸入的包含HTML代碼的內容經過服務器發(fā)送到數據庫的過程中,這些代碼由服務器進行補齊、過濾、修正和轉換這些操作后再存入數據庫,或者是在數據庫將存儲的HTML代碼經過服務器顯示給客戶端過程中,由服務器對這些代碼進行補齊、過濾、修正和轉換這些操作。為了使本
技術領域:
的人員更好地理解本發(fā)明方案,下面結合附圖和實施方式對本發(fā)明作進一步的詳細說明。本領域人員知道,HTML屬于文檔對象才莫型(DocumentObjectModule,DOM),DOM是萬維網聯(lián)盟(W3C)定義的一種標準文檔對象模型,該模型以樹形結構表示了HTML文檔。HTML中的標簽或標簽的內容是節(jié)點,各個節(jié)點被視為DOM文檔對象模型中的各種類型的Node對象,DOM詳細定義了各個節(jié)點的類型?,F(xiàn)有技術中可以用SAX對DOM進行遍歷解析。SAX是解析DOM文檔對象模型的一種事件驅動方式,具體為SAX解析器裝載DOM文檔后,在對DOM文檔中的節(jié)點進行解析處理時,產生一系列的事件,根據被觸發(fā)的事件,對DOM文檔中的節(jié)點做出處理。除利用SAX夕卜,也可以利用其它方法對HTML代碼進行遍歷解析,例如HTMLDOM,該遍歷解析方法與利用SAX的方法類似。那么,本發(fā)明在遍歷解析輸入的包含HTML代碼的內容的過程中,需要經過補齊、過濾、修正和轉換操作。以下以一個實施例來說明本發(fā)明。圖2示出了本發(fā)明一個實施例的流程。步驟201:對不完整的HTML標簽進行補齊。由于HTML的標簽是成對的,包含不成對標簽的HTML代碼是錯誤的HTML代碼,該步驟即是將不成對的標簽進行補齊。可以利用棧來記錄標簽,這是本領域技術人員常用的方法。具體的,利用棧的先進先出的特點,當讀到一個開始標簽時,推送該標簽到棧中,當讀到一個結束標簽時,彈出棧中的該標簽,這樣可以^r-瞼標簽是否成對出現(xiàn),并可以在才全測到標簽不成對時補齊缺失的標簽。步驟202:根據預先定義的規(guī)則對HTML代碼進行過濾。該步驟是對輸入的HTML代碼中的標簽進行逐個掃描,對掃描到的結果根據預先定義的規(guī)則進行過濾。其中,過濾處理具體可以為保留和去除。規(guī)則的定義包含以下幾種方式A.定義可以4妄收的HTML標簽的為保留標簽庫,對保留標簽庫中的HTML標簽的處理規(guī)則為保留。該規(guī)則檢測掃描到的HTML標簽是否為保留標簽庫中的標簽,如果是,則按照該規(guī)則對該HTML代碼進行保留處理后,即留下該HTML標簽和內容。B.定義需要去除的HTML標簽為去除標簽庫,對去除標簽庫中的HTML標簽的處理規(guī)則為保留。該規(guī)則檢測掃描到的HTML標簽是否為去除標簽庫中的比較,如果是,則按照該規(guī)則去除該HTML標簽下的子標簽和該標簽下的內容。該步驟中,可以定義的HTML標簽包括錯誤標簽,還包括惡意代碼標簽。例如可以包括所有已知的惡意Javascript代碼,這樣按照該步驟的規(guī)則可以將這類的惡意代碼去除,從而提高了服務器的安全性。另外,還可以對不在上述兩種標簽庫中的HTML標簽做默認處理,例如該默認處理為只去除該HTML標簽,而保留該標簽下的內容。以上標簽庫中的標簽可以預先定義,并且可以一艮據情況改變標簽庫中的標簽。通過該步驟,保證保留了允許的HTML標簽,并去除了可能有害的HTML標簽,還對不在保留標簽庫和去除標簽庫中的HTML標簽進行去除標簽處理,只保留其內容,從而不影響頁面正常顯示。這樣,只留下了真正需要處理的內容,為下面的步驟減輕了處理負擔。以上步驟201和202可以在一次遍歷解析中完成。具體的,可以在一次SAX解析的過程中完成,并可以在利用SAX解析HTML時,對步驟201和202的操作混合執(zhí)行,即不分先后,只需滿足任一步驟的條件即可執(zhí)行。例如HTML代碼格式為〈trxtd〉文本々tr〉,本領域技術人員知道,HTML的標簽是成對的,因此該HTML代碼中缺少對應的々td、執(zhí)行步驟201,補齊該標簽,補齊后的結果為〈trxt&文本々tdx/tr、對于步驟202,例如HTML代碼為<tablewidth="100。/。"xtrxtd〉文本〈/tdx/trx/table〉(*)該段代碼中包含table標簽,tr標簽。td標簽和文本。利用SAX對該段代碼進行解析時,對逐個標簽進行掃描,每遇到一個標簽時可以觸發(fā)相應的事件,從而得到該標簽的各種屬性,這樣,就可以按照步驟202中定義的規(guī)則庫對該標簽進行相應的處理。例如,掃描到々able、且該標簽屬于保留標簽庫,則保留*代表的這一行代碼;反之,如果該標簽屬于去除標簽庫,則去除*代表的這一行代碼;另外,如果沒有對該標簽進行規(guī)則定義,則執(zhí)行默認操作,即去除該標簽,而保留剩下的內容,即保留〈trxtd〉文本々tdx/tr〉。這樣,經過步驟201和202,完成對包含HTML代碼內容的補齊和過濾處理。顯而易見的,步驟201和步驟202也可以各在一次遍歷解析中完成,例如各在一次SAX解析中完成。步驟203:根據自定義的處理需求對HTML標簽的細節(jié)進行修正。前述步驟是對HTML代碼進行簡單的保留、去除和補齊處理,該步驟則是對HTML代碼的的細節(jié),即對其標簽或屬性進行修正處理。對這些細節(jié)的具體處理可以才艮據不同的需求進行。需求l:例如需要檢驗HTML代碼中標簽間的父子關系的正確性時,采用遍歷的方法檢驗。以檢驗HTML代碼中〈table〉的標簽和〈tdxtr〉標簽間父子關系的正確性為例,^換照如下處理if(如果這個節(jié)點type==Node.ELEMENT_NODE&&節(jié)點name是tr)if(如果這個節(jié)點的父節(jié)點name不是table)去除這個節(jié)點和子節(jié)點,繼續(xù)遍歷條件elseif(如果這個節(jié)點type==Node.ELEMENT—NODE&&節(jié)點name是td)if(如果這個節(jié)點的父節(jié)點name不是tr||這個節(jié)點的父節(jié)點的父節(jié)點name不是table)去除這個節(jié)點和子節(jié)點,繼續(xù)遍歷條件其中,節(jié)點可以是HTML代碼中的一對標簽,或標簽的內容,或標簽下的文本。例如按照該遍歷方法^^驗以下代碼時〈tr〉〈td〉文本〈/tdx/tr〉這段代碼必須在父標簽〈table〉內才是完整的,即該段代碼的父子關系不正確,按照上述處理方法,去除々rxtdx/tdx/tr、這樣,利用類似的遍歷方法,檢驗了HTML代碼中的父子關系的正確性。需求2:本步驟需要限制HTML代碼中的內容,例如要限制超鏈接a標簽中的href屬性,可以用簡單的正則表達式處理。HTML代碼中的a標簽例如<ahref="http:〃club.china.alibaba.com"></a>。以允i午輸入類似http:〃www.xxx.com的網址為例,可以利用A((http|ftp|https):\V\V(\\S+|\\n))|(www\\.(\\S+|\\n))這一正則表達式處理,該正則表達式的意思是設置了對超鏈接的限制條件必須是以http或ftp或https開頭,之后必須是://,之后可以沒有www,但是如果有www則必須是www的形式。這樣,由正則表達式對HTML代碼中的超鏈接作了限制,以檢驗超鏈接的正確性。如果不符合正則表達式的要求,則返回錯誤信息,并不把該內容作為超鏈接處理,例如可以作刪除處理,還可以按照普通文本的形式輸出以顯示在頁面上。需求3:本步驟需要對HTML代碼的一些內容進行限制,如禁止或進行替換。例如輸入的是惡意代碼,可能需要保留這個標簽,而不是筒單的去除,則可以將惡意代碼替換成允許接收的代碼。再例如文本中存在反動、色情的詞匯,將該類文字去除,還可以是將這些詞匯進行替換.根據該需求,可以設置惡意代碼庫,還可以設置限制詞匯庫,以對HTML代碼的內容做相應的處理。具體的處理過程,可以釆用正則表達式,對才企測到的屬于上述惡意代碼庫和/或限制詞匯庫的代碼或內容進行替換和刪除等操作。當然,本步驟還可能包括其它需求,在此不再例舉。步驟204:將HTML代碼中的非標準代碼轉換成標準代碼。文本中經常有一些非標準代碼,如Vn,讓之類的特殊代碼,實際上是表示換行,但是瀏覽器把這類代碼當作普通文本,而不會解析這種代碼代表的意義,因此會使瀏覽器的頁面顯示出問題;文本中還經常有HTML的語法關鍵字,如"<"、">"這類代碼,也會使瀏覽器的頁面顯示出問題,則該步驟將這些代碼轉換為瀏覽器可以解析的代碼,例如將">"轉換為">",將"Vn"轉換為"<br>",這樣,瀏覽器可以解析這一經過轉換的標準代碼,因此,可以避免瀏覽器的頁面顯示出現(xiàn)問題。具體的,可以預置一個代碼轉換表,將瀏覽器不能解析的代碼映射為瀏覽器可以解析的標準代碼。預置的代碼表可以如下表所示<table>tableseeoriginaldocumentpage13</column></row><table>表l.非標準代碼與標準代碼的映射表與步驟201和202所述的相類似,步驟203和204可以在一次解析的過程中完成,例如可以在一次SAX解析的過程中完成,并可以在利用SAX解析時,對步驟203和204的操作混合執(zhí)行,即不分先后,只需滿足任一步驟的條件即可執(zhí)行。同樣顯而易見的,步驟203和步驟204也可以各在一次遍歷解析中完成,例如各在一次SAX解析中完成。上述步驟201至204可以應用在用戶輸入的包含HTML代碼的內容提交和回顯過程中經過服務器的不同階段,即在不同的時機對包含HTML代碼的內容作處理,都可以滿足本發(fā)明的目的,即消除包含HTML代碼的內容中的有害代碼。以下舉兩個實施例加以說明。圖3示出了第一個實施例處理流程。301:用戶通過終端輸入包含HTML代碼的內容,并提交到服務器;302:服務器將用戶提交的包含HTML代碼存入數據庫;303:用戶請求顯示之前輸入的包含HTML代碼的內容;304:數據庫發(fā)送用戶請求的包含HTML代碼的內容到服務器;305:服務器對收到包含HTML代碼的內容做如下處理后發(fā)送到用戶所在的客戶端并顯示遍歷解析輸入的HTML代碼過程中補齊不完整的HTML標簽;根據預定義的規(guī)則對HTML代碼進行過濾;遍歷解析經補齊和過濾的HTML代碼過程中對HTML代碼根據需求按照預置的對應操作進行修正;根據預置的代碼表將HTML代碼中瀏覽器非標準代碼轉換為標準代碼。上述處理即為步驟201至204所描述方法的處理過程。這種情況是在每次用戶請求顯示之前輸入的包含HTML代碼的內容時,由服務器對該內容做消除有害HTML代碼的處理,再發(fā)送到用戶所在的客戶端并顯示。第二實施例與此類似,圖4示出了第二個實施例的處理流程。401:用戶通過終端輸入包含HTML代碼的內容,并提交到服務器;402:服務器對收到包含HTML代碼的內容做如下處理后發(fā)送到數據庫;遍歷解析輸入的HTML代碼過程中補齊不完整的HTML標簽;根據預定義的規(guī)則對HTML代碼進行過濾;遍歷解析經補齊和過濾的HTML代碼過程中對HTML代碼根據需求按照預置的對應操作進行修正;根據預置的代碼表將HTML代碼中瀏覽器非標準代碼轉換為標準代碼。上述處理即為步驟201至204所描述方法的處理過程。403:用戶請求顯示之前輸入的包含HTML代碼的內容;404:數據庫發(fā)送用戶請求的包含HTML代碼的內容到服務器,再由服務器轉發(fā)到用戶所在的客戶端并顯示。這種情況是在用戶輸入包含HTML代碼的內容并提交時,由服務器對該內容做消除有害HTML代碼的處理,再發(fā)送到數據庫,當用戶請求顯示之前輸入的包含HTML代碼的內容時,數據庫直接將該內容通過服務器發(fā)送到用戶所在的客戶端,且這一過程中服務器不需再對包含HTML代碼的內容做處理,能使包含該內容的瀏覽器頁面正常顯示。由以上實施例可見,本發(fā)明在包含HTML代碼的內容經過服務器的過程中,由服務器通過對這些代碼進行補齊、過濾、修正和轉換處理,可以有效消除HTML中的有害代碼,使Web頁面可以正常顯示,從而保障了服務器的性能,并可以防止惡意代碼進行的網絡攻擊,提高了服務器的安全性。雖然通過實施例描繪了本發(fā)明,本領域普通技術人員知道,本發(fā)明有許多變形和變化而不脫離本發(fā)明的精神,希望所附的權利要求包括這些變形和變化而不脫離本發(fā)明的精神。權利要求1、一種消除超文本標記語言HTML中有害代碼的方法,其特征在于,包括步驟遍歷解析輸入的HTML代碼過程中補齊不完整的HTML標簽;根據預定義的規(guī)則對HTML代碼進行過濾;遍歷解析經補齊和過濾的HTML代碼過程中對HTML代碼根據需求按照預置的對應操作進行修正;根據預置的代碼表將HTML代碼中瀏覽器非標準代碼轉換為標準代碼。2、如權利要求1所述的方法,其特征在于,所述根據預定義的規(guī)則進行過濾由以下方式實現(xiàn)預定義保留規(guī)則保留標簽庫中存儲允許接收的HTML標簽,對符合保留標簽庫的標簽估支保留處理;預定義去除規(guī)則去除標簽庫中存儲不允許接收的HTML標簽,對符合去除標簽庫的標簽做去除處理;預定義默認規(guī)則對不在保留標簽庫和去除標簽庫中的標簽僅去除其HTML標簽,保留該標簽下的內容;根據預定義的保留規(guī)則、去除規(guī)則和默認規(guī)則對解析結果進行過濾。3、如權利要求2所述的方法,其特征在于,預定義規(guī)則進一步包括增加和/或減少和/或改變所述保留標簽庫和/或去除標簽庫中的標簽。4、如權利要求l所述的方法,其特征在于,所述修正步驟由以下方式實現(xiàn)根據檢驗父子關系正確性的需求,根據對應的刪除操作,刪除父子關系不正確的節(jié)點;和/或才艮據檢驗超鏈接正確性的需求,利用正則表達式對不正確的超鏈接按照對應的操作進行刪除,或以普通文本進行處理;和/或根據限制輸入的HTML代碼內容的需求,根據預置的惡意代碼庫和/或根據預置的限制詞匯庫,利用正則表達式刪除或替換該惡意代碼和/或詞匯。5、如權利要求1所述的方法,其特征在于,所述轉換步驟由以下方式實現(xiàn)根據預置的轉換代碼表,將HTML的文本中特殊代碼和/或語法關鍵字轉換為標準代碼。6、如權利要求1所述的方法,其特征在于,所述補齊和過濾步驟在兩次遍歷解析過程中分別完成。7、如權利要求1所述的方法,其特征在于,所述修正和轉換步驟在兩次遍歷解析過程中分別完成。8、如權利要求l、6或7任一項所述的方法,其特征在于,所述遍歷解析采用SAX解析或HTMLDOM解析。9、一種提交和回顯包含HTML內容的方法,其特征在于,由以下步驟實現(xiàn)A.用戶通過終端輸入包含HTML代碼的內容并提交到服務器;B.服務器將用戶提交的包含HTML代碼存入數據庫;C.用戶請求顯示所述輸入的包含HTML代碼的內容;D.數據庫發(fā)送用戶請求的包含HTML代碼的內容到服務器;E.服務器對收到包含HTML代碼的內容進行以下處理遍歷解析輸入的HTML代碼過程中補齊不完整的HTML標簽;根據預定義的規(guī)則對HTML代碼進行過濾;遍歷解析經補齊和過濾的HTML代碼過程中對HTML代碼根據需求按照預置的對應操作進行修正;根據預置的代碼表將HTML代碼中瀏覽器非標準代碼轉換為標準代碼;F.將經過處理的包含HTML代碼的內容發(fā)送到客戶端并顯示。10、一種提交和回顯包含HTML內容的方法,其特征在于,由以下步驟實現(xiàn)A.用戶通過終端輸入包含HTML代碼的內容,并提交到服務器;B.服務器對收到包含HTML代碼的內容進行以下處理遍歷解析輸入的HTML代碼過程中補齊不完整的HTML標簽;根據預定義的規(guī)則對HTML代碼進行過濾;遍歷解析經補齊和過濾的HTML代碼過程中對HTML代碼根據需求按照預置的對應操作進行修正;根據預置的代碼表將HTML代碼中瀏覽器非標準代碼轉換為標準代碼;C.將經過處理的包含HTML代碼的內容發(fā)送到數據庫;D.用戶請求顯示之前輸入的包含HTML代碼的內容;E.數據庫發(fā)送用戶請求的包含HTML代碼的內容經由到服務器到客戶端。全文摘要本發(fā)明公開了一種消除超文本標記語言HTML中有害代碼的方法,包括步驟遍歷解析輸入的HTML代碼過程中補齊不完整的HTML標簽;根據預定義的規(guī)則對HTML代碼進行過濾;遍歷解析經補齊和過濾的HTML代碼過程中對HTML代碼根據需求按照預置的對應操作進行修正;根據預置的代碼表將HTML代碼中瀏覽器非標準代碼轉換為標準代碼。可以在用戶輸入包含HTML內容的代碼并提交后由服務器進行所述方法的處理,也可以在數據庫將存儲的包含HTML內容的代碼經由服務器發(fā)送到客戶端的過程中進行所述方法的處理。利用本發(fā)明,可以消除超文本標記語言中的有害代碼,使網頁能夠正常顯示,從而保障服務器的性能,同時提高服務器的安全性,并在該過程中不影響用戶的感受。文檔編號G06F17/30GK101192217SQ200610145970公開日2008年6月4日申請日期2006年11月28日優(yōu)先權日2006年11月28日發(fā)明者波陳,磊鮑申請人:阿里巴巴公司