「IframeタグをMediaWikiで使う」の版間の差分

提供:Euro Truck Simulator 2 FanWiki
ページの作成:「MediaWikiですが、デフォルトではIframeタグは使用が禁止されていてユーザーがiframeタグを入力しても除去される仕様でした。これはIframeで埋め込んだコンテンツが著作権の侵害をする可能性があることと、外部サイトを埋め込むことによるセキュリティ上のリスクによるものでした。このIframeを許可されたドメインのみ埋め込む可能する方法がありま…」
 
編集の要約なし
1行目: 1行目:
MediaWikiですが、デフォルトではIframeタグは使用が禁止されていてユーザーがiframeタグを入力しても除去される仕様でした。これはIframeで埋め込んだコンテンツが著作権の侵害をする可能性があることと、外部サイトを埋め込むことによるセキュリティ上のリスクによるものでした。このIframeを許可されたドメインのみ埋め込む可能する方法がありましたので備忘録として残しておきます。
MediaWikiですが、デフォルトではIframeタグは使用が禁止されていてユーザーがiframeタグを入力しても除去される仕様でした。これはIframeで埋め込んだコンテンツが著作権の侵害をする可能性があることと、外部サイトを埋め込むことによるセキュリティ上のリスクによるものでした。このIframeを許可されたドメインのみ埋め込むことを可能にする方法がありましたので備忘録として残しておきます。


== インストール ==
== インストール ==

2023年11月17日 (金) 18:49時点における版

MediaWikiですが、デフォルトではIframeタグは使用が禁止されていてユーザーがiframeタグを入力しても除去される仕様でした。これはIframeで埋め込んだコンテンツが著作権の侵害をする可能性があることと、外部サイトを埋め込むことによるセキュリティ上のリスクによるものでした。このIframeを許可されたドメインのみ埋め込むことを可能にする方法がありましたので備忘録として残しておきます。

インストール

  • MediaWikiサイトからGitプロジェクトページへ移動してZipファイルをダウンロードして、ファイルをextensions/フォルダー内のIframeという名前のディレクトリ内に配置します。
  • 以下のコードを LocalSettings.php ファイルの末尾に追加します:

wfLoadExtension( 'Iframe' );

設定

Iframeタグを使用するためのオプションのパラメータがいくつかあります。 LocalSettings.phpで設定することができます。

初期化

設定により、サイトマップのファイル名を設定することができます。
$wgIframe = array();

許可ドメインの設定

デフォルトでは、全てのドメインが拒否されています。そのためLocalSettings.phpで一つづつ許可するドメインを記述して指定する必要があります。
$wgIframe['server']['local'] = [ 'scheme' => 'https', 'domain' => 'your-domein.com' ];
これは、localドメインに対してIframeを許可する記述です。
$wgIframe['server']['steam'] = [ 'scheme' => 'https', 'domain' => 'steampowered.com' ];
これは、steamというキーに対して、steampowered.comというドメインを許可するという記述です。

Iframeタグの記述例

<iframe key="steam" level="store" path="widget/XXXXXX/" frameborder="0" width="640" height="190"></iframe>

通常のIframeタグの記述ルールとは変わっていることに注目してください。 key:LocalSettings.phpに記述したkey="steam"を明記します。 level:これは表示したいWEBページにサブドメインがあるときに記述します。デフォルトは空です。
level="store"は、LocalSettings.phpで設定したsteampowered.comのサブドメインを指定しています。
path:これはURLのドメインより後ろの部分

https://store.steampowered.com/widget/XXXXXX/

URLのwidget/XXXXXX/を指定します。これは、おそらくですが少しでもセキュリティリスクを減らすために絶対パス(完全なURLの)ではなく相対パス(ドメインを除去したURL)で記述する措置にしたのだと考えています。
注意することは、

<iframe src="https://your-domein/widget/XXXXXX/" frameborder="0" width="640" height="190"></iframe>

という外部サイトのIframeコードを入手したとしたら、src="https://your-domein/widget/XXXXXX/"は除去してかつ、ドメインより後ろの相対パスはpathに記述する必要があるということです。

動作環境

参考資料