正規表現による HTML の照合と不正な文字のフィルタリング_PHP チュートリアル

WBOY
リリース: 2016-07-20 11:01:46
オリジナル
1184 人が閲覧しました

不正な文字をフィルタリングするための HTML に一致する正規表現
HTML タグを照合するための照合テーブルは次のとおりです:

[ss]*
または
[ss]*?*?>
*?>

上記の 2 つの表現、「?」が付いているものと付いていないもの、違いは何ですか?
「?」は正規表現のワイルドカード文字であることがわかっています。これは、前の部分式に 0 回または 1 回一致するか、非貪​​欲修飾子を指定します。

ここで、テストを通じて、次のコンテンツと一致する場合は「?」を追加しないという結論に達しました:

これが最初のテーブルです

私は表の中身ではありません
こちらは2番目のテーブルです

私も表の中身ではありません
これは3番目のテーブルです

$str=preg_replace("/s+/", " ", $str); // 冗長な改行をフィルターします
$str=preg_replace("/<[ ]+/si","<",$str); //<__("<" の後ろにスペースを入れます)

$str=preg_replace("//si","",$str); //コメント
$str=preg_replace("/<(!.*?)>/si","",$str); $str=preg_replace("/<(/?html.*?)>/si","",$str); $str=preg_replace("/<(/?head.*?)>/si","",$str); $str=preg_replace("/<(/?meta.*?)>/si","",$str); $str=preg_replace("/<(/?body.*?)>/si","",$str); $str=preg_replace("/<(/?link.*?)>/si","",$str); $str=preg_replace("/<(/?form.*?)>/si","",$str); $str=preg_replace("/cookie/si","cookie",$str); // Cookie タグをフィルターします
;
$str=preg_replace("/<(applet.*?)>(.*?)<(/applet.*?)>/si","",$str);
$str=preg_replace("/<(/?applet.*?)>/si","",$str); // アプレットタグをフィルタリングします

$str=preg_replace("/<(style.*?)>(.*?)<(/style.*?)>/si","",$str);
$str=preg_replace("/<(/?style.*?)>/si","",$str);
$str=preg_replace("/<(title.*?)>(.*?)<(/title.*?)>/si","",$str);

$str=preg_replace("/<(/?title.*?)>/si","",$str);

$str=preg_replace("/<(object.*?)>(.*?)<(/object.*?)>/si","",$str);
$str=preg_replace("/<(/?objec.*?)>/si","",$str); // オブジェクトタグをフィルタリングします

$str=preg_replace("/<(noframes.*?)>(.*?)<(/noframes.*?)>/si","",$str);
$str=preg_replace("/<(/?noframes.*?)>/si","",$str); // noframes タグをフィルターします

$str=preg_replace("/(.*?)/si","",$str); /フィルターフレームタグ
$str=preg_replace("//si","",$str); //フレームタグをフィルタリングします

$str=preg_replace("/<(script.*?)>(.*?)<(/script.*?)>/si","",$str);
$str=preg_replace("/<(/?script.*?)>/si","",$str); $str=preg_replace("/Webpage Special Effects/si","javascript",$str); // スクリプトタグをフィルターします

$str=preg_replace("/vbscript/si","vbscript",$str); // スクリプトタグをフィルターします

$str=preg_replace("/on([a-z]+)s*=/si","on1=",$str); // スクリプトタグをフィルターします
$str=preg_replace("//si","",$str); //javascript:alert('aabb)

などのスクリプト タグをフィルタします。

?>




http://www.bkjia.com/PHPjc/445418.html

www.bkjia.com

tru​​e


http://www.bkjia.com/PHPjc/445418.html

技術記事

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート