.htaccessでiframe制御する場合
.htaccess
<IfModule mod_headers.c>
# 自分のサイト(同じドメイン)からの iframe だけ許可する
Header set X-Frame-Options SAMEORIGIN
Header set Content-Security-Policy "frame-ancestors 'self'"
</IfModule>
functions.phpでiframe制御する場合
functions.php
/*----------------------------------------------------
iframe埋め込みの制御(自分のサイトの iframe だけ許可する)
----------------------------------------------------*/
if ( !function_exists( 'deny_iframe_http_headers' ) ){
function deny_iframe_http_headers() {
header( 'X-Frame-Options: SAMEORIGIN' ); // 自サイトのみ許可
header( "Content-Security-Policy: frame-ancestors 'self'" ); // 今のブラウザはこちらを見る
}
add_action( 'send_headers', 'deny_iframe_http_headers' );
}
自分のサイトでも iframe をまったく使わないなら、DENY・'none' にもできますが、そうするとカスタマイザーのプレビューが動かなくなります。ほかのプラグインなどですでに Content-Security-Policy を出している場合は、別の行で上書きせず、その中に frame-ancestors 'self' を足してください。.htaccess の Header set は PHP の header() より後に効くので、両方に書いたときは .htaccess の値になります。

