サポート » 使い方全般 » 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’ );

2件の返信を表示中 - 1 - 2件目 (全2件中)
  • こんにちは

    こちらはプラグインのSecurity Headersプラグインを利用いただきプラグインの設定画面で Disable Content Sniffing をチェックするとnosniffヘッダーを追加してくれます。

    このプラグインを利用いただくとうまくいくかもしれません。

    トピック投稿者 yurgr

    (@yurgr)

    ご回答いただき有難うございます。

    以下プラグインを試してみたのですが、該当の設定項目が見当たりません。
    https://ja.wordpress.org/plugins/firstpage-sg-security-headers/

    その他プラグインもいくつか試してみたのですが上記と同様の状況です。
    おすすめいただいたプラグインのURLを共有いただくことは可能でしょうか?

2件の返信を表示中 - 1 - 2件目 (全2件中)
  • このトピックに返信するにはログインが必要です。