リッチエディタやテキストエリアに入力したHTMLを表示する際、XSS(クロスサイトスクリプティング)の対策は必要ですか?
前提として、microCMSに入力したデータの利用先での処理については、最終的にはご利用ユーザーさまにて必要性のご判断をお願いしております。
ここでは判断の材料となるいくつかの観点をご紹介します。
フィールドごとのエスケープ処理について
テキストエリアやテキストフィールドについては、microCMS側では記号のエスケープ処理などは行っておりません。
リッチエディタについては、以下の記号はエスケープされて、APIのレスポンスとして返却されます。
<>"'&
旧リッチエディタについては、以下の記号はエスケープされて、APIのレスポンスとして返却されます。
<>&
WRITE系の権限の許可について
該当のフィールドを信頼されたユーザーが管理画面から更新する場合、不正な内容のHTMLが含まれる可能性は低くなります。
一方でAPIにWRITE系の権限(POST/PUT/PATCH)を許可している場合、外部ユーザーから攻撃を目的としたHTMLが埋め込まれる可能性があるため、非常に危険です。
ライブラリや関数について
利用する言語やフレームワークによって、HTMLを表示するための方法や注意点がドキュメントにて提示されています。内容を参考にした上で、実装をお願いします。