私はPHPでミニフォーラムを作成しています。テキストの書式設定と画像の埋め込みが制限されているユーザーの投稿を許可したいのですが、安全に行う(XSS-wise)下のものの最も最適なアプローチ。BBCodesの使用... HTMLを解析するか、それを完全に削除しますか? (XSS/PHP)
1)ユーザー入力からすべてのHTMLタグを取り除き、WYSIWYGエディターのコントロールをBBCodeに置き換えます。 strip_tagsで十分ですか?
2)WYSIWYGでHTML入力を許可しますが、パーサーを使用してHTMLからBBCodeへの出力を変換します。誰もこれのための安全なBBCodeパーサーをお勧めできますか?
他のアイデアは歓迎されていません。
これは、私が取るつもりのルートのようです。最後の質問の1つは、htmlspecialcharsよりhtmlentitiesを多く推奨していますが、実際にはより安全ですか? – Bachx
@Bachx:いいえ、個人的には、エンコードを正しく処理できない人たちを正しくぶつけさせることを除いて、 'htmlentities'には魅力的なユースケースはありません。 – Jon