ブラウザ - Vivaldi - CORS を無効化


 クラウディア


1. 概要
2. 現象
3. CORS を無効化する
4. 参考サイト

1. 概要

 これ、うまく説明できないのですが、詳細は、参考サイトをご参照ください。

2. 現象

 クライアントのマシンで、「.html」を作成して、「Javascript」で。

async function Post(contents, payload)
{
  url.textContent = `${API_BASE}`+contents;
  mySpanElement.textContent = JSON.stringify(payload, null, 2);

  const response = await fetch(url.textContent, {
    method: "POST",
    headers: {
      "Content-Type": "application/json",
      "Accept": "application/json"
    },
    body: JSON.stringify(payload)
  });

  return response;
}
 てなソースを書きまして。  ウェブサーバに、「.json」形式のボディを渡して、「POST」した結果を受け取ろうとするのですが・・・。  「CORS」の機能によって(?)、ブラウザからリクエストを発行する際に、ウェブサーバ側へ「OPTIONS」を発行してしまうのです。  これは、セキュリティ上の安全のための機能であるようですが。  試験で、「Javascript」を組んでいるし、サーバ側は「OPTIONS」のルートを用意(?)していないので、レスポンスが返ってこないのです。

3. CORS を無効化する

 以下、一時的に、「CORS」を無効化して、「Vivaldi」を起動します。  「Windows11」での起動にですが。

C:\Users\user_name\AppData\Local\Vivaldi\Application\vivaldi.exe --disable-web-security  --user-data-dir=D:\tmp
 となります。  「--disable-web-security」オプションだけでもいけるかと思いましたら。  「--user-data-dir=D:\tmp」が、サンドボックスか何かになっているようで、「D:\tmp」には、有効なドライブ、フォルダを指定する必要があります。  「Vivaldi」は、「Chrome」と同じ、「Chromium」の子供ですので、「Chrome」や、他の「Chromium」の子供達でも、この方法は有効です。

4. 参考サイト

 本ページは、下記のサイト、および「ChatGPT」くん、「Gemini」くんを参考にさせていただきました。
クロスオリジンリソース共有 - Wikipedia」
「ブラウザで CORS を無効化する方法 #Security