XSS跨網站指令碼攻擊解決方案

來源:互聯網
上載者:User

XSS跨網站指令碼攻擊解決方案

如果使用者表單輸入一些內容,……特別是一些內容比較多的表單項,且無固定格式 ,如地址,文章內容……此時使用者可以輸入JS代碼等來執行

STEP1:在設計方案上,輸入項要儘可能檢測格式並限制長度。要有服務端檢測,不能依賴用戶端檢測。在資料庫設計上要限制欄位長度……

輸出頁面時需要進行HTML轉碼,如輸出地址內容

<td ><%=convert.html(cus.getAddress())%></td >

 

public static String html(String content) {

if(content==null) return "";        

    String html = content;

       

html = html.replaceAll( "&", "&amp;"); //替換&號

html = html.replace( "\"", "&quot;"); //" 替換雙引號

html = html.replace( "\t", "&nbsp;&nbsp;");// 替換跳格

html = html.replace( " ", "&nbsp;");// 替換空格 

html = html.replace("<", "&lt;"); 

html = html.replaceAll( ">", "&gt;");

    return html;

}

 

 

有些人是在入庫的時候做HTML編碼,這樣與原意不付,應該在出庫的時候轉碼,如果輸出載體為HTML頁面,則進行HTML轉碼……。如果是使用者控制項一類的,就可以不做HTML轉碼了。

真正麻煩的是,在一些場合我們要允許使用者輸入HTML,又要過濾其中的指令碼。Tidy 等HTML 清理庫可以幫忙……本文不討論這種情況 ……

STEP2: 檢測

主要對使用者輸入內容在顯示時的頁面進行檢測,照上面列個清單出來

STEP3:檢測結果紀錄表

STEP4: 根據檢測結果做修複,在紀錄表上記錄修複結果

STEP5:複測,在紀錄表上記錄複測結果

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.