2

私の選択したいくつかのタグを除いて、すべてのhtmlタグをフィルタリングする方法はあります<strong>, or <b>, <i>か? 私は htmlentities が仕事をすることを知っていますが、すべての HTML タグをフィルタリングします。

4

2 に答える 2

3

これを確認してください:http://www.php.net/strip_tags

// Allow <p> and <a>
echo strip_tags($text, '<p><a>');

編集:実際、「フィルター」とはどういう意味ですか?

于 2013-04-25T08:52:28.273 に答える
1

いいえ、安全な方法はありません。php の strip_tags はこれらのタグを許可しますが、これは xss に対して脆弱になることを意味します。それを回避するためのより良いアプローチは kses ( http://sourceforge.net/projects/kses/ ) で、wordpress が使用するものです。
また、htmlpurifier ( http://htmlpurifier.org/ ) は、私が提案する方法です。

あなたのコンテキストでは、strip_tags を使用して必要なタグのみを保持し、結果の文字列を htmlpurifier フィルターに渡して、xss されないようにします。

于 2013-04-25T08:59:41.993 に答える