ホームページ  >  記事  >  バックエンド開発  >  PHP不正コードフィルタリング機能_PHPチュートリアル

PHP不正コードフィルタリング機能_PHPチュートリアル

WBOY
WBOYオリジナル
2016-07-13 17:09:201120ブラウズ

phpの悪意のあるコードフィルタリング機能

パブリック関数DecodeFilter(html, フィルター)
html=LCase(html)
filter=split(filter,",")
For Each i In フィルター
                                                                                                                                                                                                                                                                                              case "script" 'すべてのクライアントスクリプトjavascipt、vbscript、jscript、js、vbs、event、... Html = Exre ("(javascript | jscript | vbscript | vbs):", "#", html)
Html = exce ("& lt;/? スクリプト [^& gt;]*& gt;", "", html)
Html = Exray ("on (マウス | 終了 | エラー | クリック | キー)", "", html)
ケース "テーブル": 'テーブルを削除します & lt; td & gt; Html = Exre ("& lt;/? テーブル [^& gt;]*& gt;", "", html)
Html = Exray ("& lt;/? TR [^& gt;]*& gt;", "", "", html)
                                                                                                                                                                                                                                                                 Html = exce ("& lt;/? Td [^& gt;]*& gt;", "", "", html)
Html = exce ("& lt;/? TBODY [^& gt;]*& gt;", "", "", html)
Case "class" 'スタイルクラスを削除するには class = "
Html = exce ("(& lt; [^& gt;]+) クラス = [^|^& gt;]*([^& gt;]*& gt;)", "$ 1 $ 2", html )
Case "style" 'スタイルを削除 style = "
Html = Exre ("(& lt; [^& gt;]+) style =" [^""]*"" ([^& gt;]*& gt;) "," $ 1 $ 2 ", html )
Html = Exre ("(& lt; [^& gt;]+) style = '[^']*'([^& gt;]*& gt;)," $ 1 $ 2 ", html)

Case "img" 'スタイルを削除 style = "
Html = Exre ("& lt;/? Img [^& gt;]*& gt;", "", html)
ケース「XML」                                                                                                                                                                                                                                                                     Case "namespace" '' 名前空間を削除します & lt; o & gt; Html = exce ("& lt;/? [A-z]+: [^& gt;]*& gt;", "", html) Case "font" 'フォントを削除します & lt;/font & gt;                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Html = Exre ("& lt;/? Span [^& gt;]*& gt;", "", html)
                                                                                                                                                                                                                                                                     Case "マーキー" '字幕を削除 & lt;/マーキー & gt; Html = exce ("& lt;/? マーキー [^& gt;]*& gt;", "", html)
Case "オブジェクト" 'オブジェクトを削除します & gt; & lt;/オブジェクト & gt;                                                                                                                                                                                                                                                                                                            Html = Exre ("& lt;/? Param [^& gt;]*& gt;", "", "", html)
'Html = exce ("" & lt;/? Embed [^& gt;]*& gt; "," ", html)
ケース「埋め込み」
Html = exce ("& lt;/? Embed [^& gt;]*& gt;", "", html)
ケース "div" ' オブジェクトを削除 & gt; & lt;/オブジェクト & gt; Html = Exray ("& lt;/? DIV ([^& gt;])*& gt;", "$ 1", html)
Html = exce ("& lt;/? P ([^& gt;])*& gt;", "$ 1", html)
Case "オンライン" 'スタイルを削除 style = "
Html = Exre ("(& lt; [^& gt;]+) online =" "[^" "]*" "([^& gt;]*& gt;)", "$ 1 $ 2", html)
                                   html = exeRE("(<[^>]+) onload='[^']*'([^>]*>)", "$1 $2", html)
                            Case "ONCLICK" ' 去除样式
                                   html = exeRE("(<[^>]+) onclick=""[^""]*""([^>]*>)", "$1 $2", html)
                                   html = exeRE("(<[^>]+) onclick='[^']*'([^>]*>)", "$1 $2", html)
                            Case "ONDBCLICK" '去除样式
                                   html = exeRE("(<[^>]+) ondbclick=""[^""]*""([^>]*>)", "$1 $2", html)
                                   html = exeRE("(<[^>]+) ondbclick='[^']*'([^>]*>)", "$1 $2", html)
                                   
                     終了選択
              次へ
              'html = 置換(html,"<テーブル","<")
              'html = 置換(html,"               'html = 置換(html,"               デコードフィルター = html
       関数の終了

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/629754.html技術記事 php 恶意代码过滤関数 Public Function DecodeFilter(html, filter) html=LCase(html) filter=split(filter,,) For Each i In filter Select Case i Case SCRIPT ' 去除全部客户端...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。