<address id="ousso"></address>
<form id="ousso"><track id="ousso"><big id="ousso"></big></track></form>
  1. 網頁設計

    正則表達式過濾HTML危險腳本的實例

    時間:2024-12-05 23:30:34 網頁設計 我要投稿
    • 相關推薦

    正則表達式過濾HTML危險腳本的實例

      導語:在做一些網站(特別是bbs之類)時,經常會有充許用戶輸入html樣式代碼,卻禁止腳本的運行的需求, 以達到豐富網頁樣式,禁止惡意代碼的運行。以下的是百分網小編為大家搜集的正則表達式過濾HTML危險腳本的實例,希望對你會有所幫助。

      不能用 htmlencode 和 htmldecode 方法,因為這樣連基本的html代碼會被禁止掉。

      以下是一些腳本攻擊的實例:

      1. <script>標記中包含的代碼

      2. <a href=javascript:...中的代碼

      3. 其它基本控件的 on...事件中的代碼

      4. iframe 和 frameset 中載入其它頁面造成的攻擊

      有了這些資料后,事情就簡單多了,下面簡單的方法,用正則表達式把以上符合幾點的代碼替換掉:

      public string wipescript(string html)

      {

      system.text.regularexpressions.regex regex1 = new system.text.regularexpressions.regex(@"<script[ss]+</script *>",system.text.regularexpressions.regexoptions.ignorecase);

      system.text.regularexpressions.regex regex2 = new system.text.regularexpressions.regex(@" href *= *[ss]*script *:",system.text.regularexpressions.regexoptions.ignorecase);

      system.text.regularexpressions.regex regex3 = new system.text.regularexpressions.regex(@" on[ss]*=",system.text.regularexpressions.regexoptions.ignorecase);

      system.text.regularexpressions.regex regex4 = new system.text.regularexpressions.regex(@"<iframe[ss]+</iframe *>",system.text.regularexpressions.regexoptions.ignorecase);

      system.text.regularexpressions.regex regex5 = new system.text.regularexpressions.regex(@"<frameset[ss]+</frameset *>",system.text.regularexpressions.regexoptions.ignorecase);

      html = regex1.replace(html, ""); //過濾<script></script>標記

      html = regex2.replace(html, ""); //過濾href=javascript: (<a>) 屬性

      html = regex3.replace(html, " _disibledevent="); //過濾其它控件的on...事件

      html = regex4.replace(html, ""); //過濾iframe

      html = regex5.replace(html, ""); //過濾frameset

      return html;

      }

      此方法輸入可能包含腳本的html代碼,返回則就是干凈的代碼了。

    【正則表達式過濾HTML危險腳本的實例】相關文章:

    php過濾危險html代碼的方法09-17

    php過濾HTML標簽、屬性等正則表達式07-19

    HTML用正則表達式檢驗表格的實例代碼08-11

    CSS和JavaScript腳本實例10-26

    看實例學正則表達式10-17

    C#實現協同過濾算法的實例代碼06-19

    如何實現PHP獲取表單數據與HTML嵌入PHP腳本09-23

    HTML實現頁面自動跳轉的方法有哪些(實例)07-31

    php使用html5實現多文件上傳實例09-04

    <address id="ousso"></address>
    <form id="ousso"><track id="ousso"><big id="ousso"></big></track></form>
    1. 日日做夜狠狠爱欧美黑人