JSONのアクセス制限を管理画面以外に適用したい
-
WordPressで作成したサイトを脆弱性チェックの企業にチェックいただいたところ、「JSON レスポンスの XSS に対する予防的措置」するよう診断結果が出ました。
そこで、診断書に記載のとおり以下の記述をfunctions.phpに行うことで対策を行えるのですが1点問題が発生します。
function add_custom_headers( $headers ) {
if ( strpos( $_SERVER[‘REQUEST_URI’], ‘/wp-json/’ ) !== false ) {
$headers[‘X-Content-Type-Options’] = ‘nosniff’;
}
return $headers;
}
add_filter( ‘rest_pre_serve_request’, ‘add_custom_headers’ );管理画面側でJSONの制限を行うと様々な機能(Wordpressのデフォルト機能のアイキャッチ画像やカテゴリー、その他プラグインなど)に影響が出てしまい、非表示になる・保存できないなどの不具合が発生します。
そのため、管理画面ページを除くユーザー側の画面でのみ適用させるように以下のとおり修正したのですが上手く作動いたしません。管理画面側のみ除外する方法はないでしょうか?function add_custom_headers( $headers ) {
if ( !is_admin() && strpos( $_SERVER[‘REQUEST_URI’], ‘/wp-json/’ ) !== false ) {
$headers[‘X-Content-Type-Options’] = ‘nosniff’;
}
return $headers;
}
add_filter( ‘rest_pre_serve_request’, ‘add_custom_headers’ );
- トピック「JSONのアクセス制限を管理画面以外に適用したい」には新たに返信することはできません。