目次
1.リープフロッグとは何ですか?
2. クロスドメインリクエストが発生するのはなぜですか?
3. 同一オリジン ポリシーとは何ですか?
4. ブラウザが同一生成元ポリシーを使用するのはなぜですか?
通常、JSON データをリクエストすると、サーバーは次のように返します。 JSON タイプのデータの文字列。JSONP モードを使用してデータをリクエストすると、サーバーは実行可能な JavaScript コードを返します。 jsonp のクロスドメインの原則は、スクリプトの src を動的にロードすることであるため、パラメーターは URL 経由でのみ渡すことができるため、jsonp の型 type は取得のみ可能です。例:
転送には HttpClinet 転送を使用します (このメソッドは、単純な例として推奨)
クロスドメインのクロスドメインには次のコード構成を使用します。フロントエンドとバックエンドのクロスドメイン リクエストの問題を完全に解決する SpringBoot2.0
5、使用nginx做转发
ホームページ バックエンド開発 PHPチュートリアル Web サイトのクロスドメイン向け 5 つのソリューション

Web サイトのクロスドメイン向け 5 つのソリューション

Apr 30, 2019 pm 01:50 PM
ajax http

ブラウザは同一生成元ポリシーを使用するため、クロスドメインリクエストが発生します。 Web ページが、異なるドメイン名/異なるプロトコル/異なるポートを使用して別の Web ページにリソースを要求します。これはクロスドメインです。この記事では、Web サイトのクロスドメインの問題を解決する 5 つの方法を紹介します。興味のある友人は参照してください。

1.リープフロッグとは何ですか?

  • Web ページが、異なるドメイン名/異なるプロトコル/異なるポートを持つ別の Web ページからリソースを要求します。これはクロスドメインです。
  • クロスドメインの理由: 現在のドメイン名リクエスト Web サイトでは、Ajax リクエストを介して他のドメイン名を送信することはデフォルトで許可されていません。

2. クロスドメインリクエストが発生するのはなぜですか?

  • ブラウザは同一オリジン ポリシーを使用するため、

3. 同一オリジン ポリシーとは何ですか?

  • 同一オリジン ポリシーは、Netscape によって提案されたよく知られたセキュリティ ポリシーであり、現在 JavaScript をサポートするすべてのブラウザでこのポリシーが使用されています。同一オリジン ポリシーはブラウザの中核で最も基本的なセキュリティ機能であり、同一オリジン ポリシーが存在しない場合、ブラウザの通常の機能に影響が出る可能性があります。 Web は同一オリジン ポリシーに基づいて構築されており、ブラウザは同一オリジン ポリシーの実装にすぎないと言えます。

4. ブラウザが同一生成元ポリシーを使用するのはなぜですか?

  • は、ユーザー情報のセキュリティを確保し、悪意のある Web サイトがデータを盗むのを防ぐためのものです。Web ページが同一オリジン要件を満たしていない場合、次のことができなくなります。

    • 1. Cookie、LocalStorage、IndexDB の共有
  • ##2. DOM
    • ## の取得
  • #3. AJAX リクエストは送信できません
    同一生成元ポリシーの非絶対的な性質:
  • <script></script>
    <img/>
    <iframe/>
    <link/>
    <video/>
    <audio/>
    ログイン後にコピー
および src 属性を持つその他のタグは、異なるドメインから送信できます。 リソースをロードして実行します。他のプラグインの同一オリジン ポリシー: Flash、Java アプレット、Silverlight、Google Gears などのブラウザによって読み込まれるサードパーティ プラグインにも独自の同一オリジン ポリシーがありますが、これらの同一オリジン ポリシーは属しません。ブラウザのネイティブの同一オリジン ポリシーに適用されます。抜け穴がある場合、ハッカーによって悪用され、XSS 攻撃の結果が残る可能性があります。

いわゆる同一オリジンとは、ドメイン名、ネットワーク プロトコル、およびポート番号は同じですが、1つでも異なるとクロスドメインが発生します。たとえば、ブラウザを使用して

http://baidu.com

を開き、ブラウザが JavaScript スクリプトを実行すると、スクリプトが

http:// にリクエストを送信していることがわかります。 cloud.baidu.com ドメイン名。ブラウザは、クロスドメイン エラーであるエラーを報告します。 解決策は 5 つあります:

1. フロントエンドで jsonp を使用します (推奨されません)

通常、JSON データをリクエストすると、サーバーは次のように返します。 JSON タイプのデータの文字列。JSONP モードを使用してデータをリクエストすると、サーバーは実行可能な JavaScript コードを返します。 jsonp のクロスドメインの原則は、スクリプトの src を動的にロードすることであるため、パラメーターは URL 経由でのみ渡すことができるため、jsonp の型 type は取得のみ可能です。例:

    $.ajax({
        url: &#39;http://192.168.1.114/yii/demos/test.php&#39;, //不同的域
        type: &#39;GET&#39;, // jsonp模式只有GET 是合法的
        data: {
            &#39;action&#39;: &#39;aaron&#39;
        },
        dataType: &#39;jsonp&#39;, // 数据类型
        jsonp: &#39;backfunc&#39;, // 指定回调函数名,与服务器端接收的一致,并回传回来
    })
    ログイン後にコピー
  • JSONP モードを使用してデータをリクエストするプロセス全体: クライアントはリクエストを送信し、実行可能な関数名を指定します (ここでは、jQuery がカプセル化プロセスを実行し、自動的にコールバック関数を生成し、success 属性のデータを取り出します)メソッド) コールバック ハンドルを渡す代わりに呼び出し)、サーバーは backfunc 関数名を受け入れ、実際のパラメーターの形式でデータを送信します
  • (jquery ソース コードでは、 jsonp は、サーバーが提供する js スクリプトを呼び出すために

    ホットAIツール

    Undresser.AI Undress

    Undresser.AI Undress

    リアルなヌード写真を作成する AI 搭載アプリ

    AI Clothes Remover

    AI Clothes Remover

    写真から衣服を削除するオンライン AI ツール。

    Undress AI Tool

    Undress AI Tool

    脱衣画像を無料で

    Clothoff.io

    Clothoff.io

    AI衣類リムーバー

    AI Hentai Generator

    AI Hentai Generator

    AIヘンタイを無料で生成します。

    ホットツール

    メモ帳++7.3.1

    メモ帳++7.3.1

    使いやすく無料のコードエディター

    SublimeText3 中国語版

    SublimeText3 中国語版

    中国語版、とても使いやすい

    ゼンドスタジオ 13.0.1

    ゼンドスタジオ 13.0.1

    強力な PHP 統合開発環境

    ドリームウィーバー CS6

    ドリームウィーバー CS6

    ビジュアル Web 開発ツール

    SublimeText3 Mac版

    SublimeText3 Mac版

    神レベルのコード編集ソフト(SublimeText3)

jQuery AJAX リクエストで発生した 403 エラーを解決する方法 jQuery AJAX リクエストで発生した 403 エラーを解決する方法 Feb 20, 2024 am 10:07 AM

タイトル: jQuery AJAX リクエストの 403 エラーを解決する方法とコード例。403 エラーは、サーバーがリソースへのアクセスを禁止するリクエストを指します。このエラーは通常、リクエストにアクセス許可がないか、サーバーによって拒否されたために発生します。 jQueryAJAX リクエストを行うときにこのような状況に遭遇することがありますが、この記事ではこの問題の解決方法とコード例を紹介します。解決策: 権限を確認します。まず、要求された URL アドレスが正しいことを確認し、リソースにアクセスするための十分な権限があることを確認します。

jQuery AJAXリクエスト403エラーを解決する方法 jQuery AJAXリクエスト403エラーを解決する方法 Feb 19, 2024 pm 05:55 PM

jQuery は、クライアント側の開発を簡素化するために使用される人気のある JavaScript ライブラリです。 AJAX は、Web ページ全体をリロードせずに、非同期リクエストを送信し、サーバーと対話するテクノロジーです。ただし、jQuery を使用して AJAX リクエストを行うと、403 エラーが発生することがあります。 403 エラーは通常、セキュリティ ポリシーまたは権限の問題が原因で、サーバーによってアクセスが拒否されたエラーです。この記事では、jQueryAJAX リクエストで 403 エラーが発生した場合の解決方法について説明します。

Web ページのリダイレクトの一般的なアプリケーション シナリオを理解し、HTTP 301 ステータス コードを理解する Web ページのリダイレクトの一般的なアプリケーション シナリオを理解し、HTTP 301 ステータス コードを理解する Feb 18, 2024 pm 08:41 PM

HTTP 301 ステータス コードの意味を理解する: Web ページ リダイレクトの一般的なアプリケーション シナリオ インターネットの急速な発展に伴い、Web ページの操作に対する人々の要求はますます高くなっています。 Web デザインの分野では、Web ページのリダイレクトは一般的かつ重要なテクノロジであり、HTTP 301 ステータス コードによって実装されます。この記事では、HTTP 301 ステータス コードの意味と、Web ページ リダイレクトにおける一般的なアプリケーション シナリオについて説明します。 HTTP301 ステータス コードは、永続的なリダイレクト (PermanentRedirect) を指します。サーバーがクライアントのメッセージを受信すると、

jQuery AJAX エラー 403 の問題を解決するにはどうすればよいですか? jQuery AJAX エラー 403 の問題を解決するにはどうすればよいですか? Feb 23, 2024 pm 04:27 PM

jQueryAJAX エラー 403 の問題を解決するにはどうすればよいですか? Web アプリケーションを開発する場合、非同期リクエストを送信するために jQuery がよく使用されます。ただし、jQueryAJAX の使用時に、サーバーによってアクセスが禁止されていることを示すエラー コード 403 が発生する場合があります。これは通常、サーバー側のセキュリティ設定が原因ですが、回避する方法があります。この記事では、jQueryAJAX エラー 403 の問題を解決する方法と具体的なコード例を紹介します。 1.作る

PHP と Ajax: オートコンプリート提案エンジンの構築 PHP と Ajax: オートコンプリート提案エンジンの構築 Jun 02, 2024 pm 08:39 PM

PHP と Ajax を使用してオートコンプリート候補エンジンを構築します。 サーバー側スクリプト: Ajax リクエストを処理し、候補を返します (autocomplete.php)。クライアント スクリプト: Ajax リクエストを送信し、提案を表示します (autocomplete.js)。実際のケース: HTML ページにスクリプトを組み込み、検索入力要素の識別子を指定します。

Ajaxを使用してPHPメソッドから変数を取得するにはどうすればよいですか? Ajaxを使用してPHPメソッドから変数を取得するにはどうすればよいですか? Mar 09, 2024 pm 05:36 PM

Ajax を使用して PHP メソッドから変数を取得することは、Web 開発では一般的なシナリオであり、Ajax を使用すると、データを更新せずにページを動的に取得できます。この記事では、Ajax を使用して PHP メソッドから変数を取得する方法と、具体的なコード例を紹介します。まず、Ajax リクエストを処理し、必要な変数を返すための PHP ファイルを作成する必要があります。以下は、単純な PHP ファイル getData.php のサンプル コードです。

HTTP リクエストのタイムアウトに対してどのようなステータス コードが返されますか? HTTP リクエストのタイムアウトに対してどのようなステータス コードが返されますか? Feb 18, 2024 pm 01:58 PM

HTTP リクエストがタイムアウトになり、サーバーから 504GatewayTimeout ステータス コードが返されることがよくあります。このステータス コードは、サーバーがリクエストを実行しても、リクエストに必要なリソースを取得できないか、一定時間が経過してもリクエストの処理を完了できないことを示します。これは 5xx シリーズのステータス コードで、サーバーに一時的な問題または過負荷が発生し、その結果クライアントのリクエストを正しく処理できなくなったことを示します。 HTTP プロトコルでは、さまざまなステータス コードに特定の意味と用途があり、504 ステータス コードはリクエストのタイムアウトの問題を示すために使用されます。顧客の中で

C++ を使用して HTTP ストリーミングを実装するにはどうすればよいですか? C++ を使用して HTTP ストリーミングを実装するにはどうすればよいですか? May 31, 2024 am 11:06 AM

C++ で HTTP ストリーミングを実装するにはどうすればよいですか? Boost.Asio と asiohttps クライアント ライブラリを使用して、SSL ストリーム ソケットを作成します。サーバーに接続し、HTTP リクエストを送信します。 HTTP 応答ヘッダーを受信して​​出力します。 HTTP 応答本文を受信して​​出力します。

See all articles