5

PHPMarkdown出力のXSS脆弱性をフィルタリングするのに役立つ単純なPHPライブラリを探しています。IE PHP Markdownは、次のようなものを解析します。

[XSS Vulnerability](javascript:alert('xss'))

私はいくつかの読書をしてきました、そしてここで私がこの主題に関して見つけた最高のものはこの質問でした。

HTML Purifierは最良の(ほぼ唯一の)ソリューションのように見えますが、もっと一般的なものがあるかどうか疑問に思っていましたか?HTML Purifierは、特に私のニーズに対しては少し堅牢であり、構成するのも面倒なようですが、そうするとうまくいくように見えます。

少し堅牢で構成可能ではないかもしれないが、それでもしっかりした仕事をしているものは他にありますか?それとも、自分のニーズに合わせてHTML Purifierを掘り下げて構成しようとすべきですか?

明確にするために編集:私は角を切るなどのことを考えていません。HTML Purifierは、多くのきめ細かい制御を提供するだけであり、単純な小さなプロジェクトの場合、何も使用することもできませんが、多くの制御は必要ありません。これは、私がより単純なものや堅牢性の低いものを求めたときに生まれた場所です。

また、最後の注意点として、私は使用する提案などを探していません。同様の方法でサニタイズすることにより、PHPMarkdownExtraに埋め込まれたHTMLをすでに禁止しています。PHPMarkdownOUTPUTのXSS脆弱性を防ぐ方法を探しています。htmlspecialchars()strip_tags()

ありがとう。

4

4 に答える 4

7

HTML Purifier以外にそれを行うツールがあるとは聞いたことがありません。HTML Purifier は確かに評判が良いです。

多分それは「少し堅牢」で「設定が面倒」です、はい; しかし、これはおそらく最も使用され、テストされた、PHP で利用可能なソリューションでもあります ;; このような重要なコンポーネントを選択する必要がある場合、これらは重要な基準です。

適切に構成するために半日を費やすことになったとしても、私があなたの状況であれば、おそらく HTML Purifier を選択するでしょ

于 2010-01-19T00:18:54.393 に答える
3

頑丈すぎるということはありません。HTML の「サニタイズ」は困難です。それをより簡単に処理するためにカットしたコーナーは、エクスプロイトが忍び寄る可能性があります. 複雑で古い HTMLPurifier でさえ、最高の評判を持っていますが、過去には危険なマークアップを忍び込ませる方法が複数ありました!

ただし、テキスト マークアップ ソリューションが危険な HTML を出力できる場合は、不十分であり、IMO を置き換える必要があります。PHP Markdown でjavascript:URL の通過が許可されている場合、それは非常に嘆かわしい基本的な欠陥であり、他の問題が解決されるとは思えません。

于 2010-01-19T00:21:16.430 に答える
0

HTMLPurifier は良い答えであり、おそらく最も堅牢なソリューションです。

比較的安全な方法で Markdown を使用することも可能ですが、正しい方法で使用する必要があります。Markdown を安全に使用する方法の詳細については、こちらを参照してください。安全に使用する方法の詳細についてはリンクを参照してください。ただし、短いバージョンでは、最新バージョンを使用して、 を設定しsafe_mode、を設定することが重要enable_attributes=Falseです。

于 2012-05-06T21:47:00.197 に答える