---
title: "メディアハンドラー"
slug: "media-handler"
abstract: "Sitecoreのサーバーサイドメディアサイズ変更とリサイズリクエストの制御を活用してください"
---
# メディアハンドラー

Sitecoreヘッドレスサービスメディアハンドラーは、Sitecoreがメディアリクエストをどのように処理するかの設定をサポートします。

サーバー側Sitecoreメディアリサイズを、JavaScript <Image/>ヘルパーコンポーネントのimageParamsやsrcSetプロパティを用いると、多くの任意の寸法を持つ画像をリスケーリングし、サービス拒否攻撃(DoS)攻撃にSitecoreサーバーをさらす可能性があります。

ホワイトリストは未知のリサイズパラメータセットを拒否します。アプリケーションコンポーネントで使用される画像のサイズパラメータセットはホワイトリスト化しなければなりません。パラメータセットがホワイトリスト化されていない場合、サーバーはサイズ *変更せずに*画像を返します。

## メディアハンドラーの設定

ヘッドレスサービスメディアハンドラーを使用するには、Web.configで設定パッチを提供する必要があります。設定パッチは [ヘッドレスサービスモジュールをインストールする](https://doc.sitecore.com/xp/ja/developers/hd/19/sitecore-headless-development/installing-headless-services.html "Installing Headless Services")と自動的に適用されます。

もし別のインストール手順を踏んで、SitecoreにHeadless Services Media Handlerの使用を指示した場合:

-   コンテンツデリバリーサーバーの ./Web.configファイルの <handlers /> ノードに、次のキーを追加します:
    
    <add verb="\*" path="sitecorejss\_media.ashx" type="Sitecore.JavaScriptServices.Media.MediaRequestHandler, Sitecore.JavaScriptServices.Media" name="Sitecore.JavaScriptServices.Media.MediaRequestHandler" />
    

## ホワイトリスト画像のサイズ調整パラメータ

パラメータセットのサイズ変更をホワイトリストにし、レスポンシブ表示用の画像リサイズを有効にするには:

-   Sitecore構成の中、<allowedMediaParams /> ノードで必要なサイズパラメータをホワイトリストに設定してください。例えば:
    
    <configuration xmlns:patch="http://www.sitecore.net/xmlconfig/">
     <sitecore>
     <javaScriptServices>
     <!--
     You can use configuration patch(es) to add sets of
     media parameters that should be allowed without a
     request protection hash in the URL. Parameter order
     is not important.
     -->
     <allowedMediaParams>
     <example>mw=100,mh=50</example>
     <example2>mw=100</example2>
     <example3>mw=101,mh=51</example3>
     </allowedMediaParams>
     </javaScriptServices>
     </sitecore>
    </configuration>
    

> !ヒント使用される画像パラメータを決定するには、レンダリング画像のsrc属性のクエリ文字列を見てください。例えば、値/img.jpg?mw=100&h=50の画像src属性が与えられたとき、*カンマ区切り*パラメータセットをホワイトリストにしなければなりませんmw=100,h=50。[レスポンシブ画像](https://developer.mozilla.org/en-US/docs/Learn/HTML/Multimedia_and_embedding/Responsive_images)の使い方について詳しくはこちらをご覧ください。