目次
質問
このフォームでのクロスドメイン呼び出しを防ぐにはどうすればよいですか?
イントラネット上で
外部ネットワーク上
ホームページ バックエンド開発 PHPチュートリアル javascript - PHP cURL または同様のクライアントリクエストはクロスドメインとみなされませんが、安全ではありませんか?どのような予防策が講じられていますか?

javascript - PHP cURL または同様のクライアントリクエストはクロスドメインとみなされませんが、安全ではありませんか?どのような予防策が講じられていますか?

Dec 01, 2016 am 01:27 AM
javascript php 安全性 クロスドメイン

以前は、PHP cURLシミュレートされたリクエストにもクロスドメイン制限があると考えていました。

質問

インターフェースを設計する際、アクセス許可が必要な機密データ(ログイン後に閲覧する必要がある個人データなど)。 tokenテストをしてみます。

ただし、他の共通インターフェイスは直接取得できますが、クロスドメイン呼び出しを防ぐためにクロスドメインヘッダーが追加されていますが、その後、PHP cURL是能调用成功的。后面看了eechen を介して呼び出しが成功することが判明しました。 eechen の回答を後で読みました。以下の通り:

クロスドメインを防ぐための同一オリジンポリシーは、ブラウザーのセキュリティメカニズムです。PHP の cURL は、インターネット上で何かをダウンロードするために file_get_contents を使用するのと同じように、コマンドラインの下では何の制限もなくブラウザー (クライアント) とみなすことができます。あなたが望むものと同じです、ソース。

このデザインは少し無理が​​あると思いますか? JS Ajax にはクロスドメイン制限がありますが、 JS Ajax有跨域限制,PHP cURL这种形式的则没有跨域限制。为什么当时确定跨域限制的时候,为什么不把PHP cURLこのフォームにはクロスドメイン制限はありません。クロスドメイン制限を決定する際に、なぜ フォームをクロスドメイン制限としても使用しなかったのでしょうか?

では、このようなフォームではクロスドメイン呼び出しをどのように防ぐのでしょうか?

解決策
  1. 网易云音乐的接口,是通过CSRF_TOKEN防止跨域调用的。
    PS:话说这种方案,貌似能够通过爬网页获取CSRF_TOKEN以前 NetEase Cloud クライアントを作成したいと思ったとき、

    を読んでからクロスドメイン呼び出しを行いましたか?
  2. また、この問題を解決する解決策はありますか?

ご回答をお待ちしております、ありがとうございます!

============ 10-27 15:51 ==============

PHP cURL做了什么特殊处理。谢谢南小鸟的回答,其实就是相当于直接访问指定URLごめんなさい、誤解し​​ていました…

による特殊な処理だと思っていました。 Nan Xiaoniao の回答に感謝します。これは実際には、指定された URL に直接アクセスするのと同等であり、当然クロスドメインの問題は発生しません...

私のインターフェースが外部からアクセスできないようにしたい場合はどうすればよいですか?

イントラネット上で

これには設定は必要ありません。

外部ネットワーク上
  1. 攻撃するために

    CSRF_TOKEN,但我查了一些CSRF_TOKEN的资料,貌似CSRF_TOKEN主要是为了防止跨站请求伪造,并不是用来做这个的...防止携带你的授权信息cookie:SESSIONIDセットアップ

    をします。
  2. REFERチェック

  3. 他には何がありますか?

JWT生成Token,每次,请求需要带上Token現在は

を使用する予定です(ユーザー情報の取得、権限制御の実行など)。

Gforce穴が空いたような気がします、ごめんなさい。また、ご回答ありがとうございます

返信内容:

PHP cURL以前は、

シミュレートされたリクエストにもクロスドメイン制限があると考えていました。

質問

tokenインターフェースを設計する際、アクセス許可が必要な機密データ(ログイン後に閲覧する必要がある個人データなど)。

テストをしてみます。

PHP cURL是能调用成功的。后面看了eechenただし、他の共通インターフェイスは直接取得できますが、クロスドメイン呼び出しを防ぐためにクロスドメインヘッダーが追加されていますが、その後、

を介して呼び出しが成功することが判明しました。後で eechen の回答を読みました。以下の通り:

クロスドメインを防ぐための同一オリジンポリシーは、ブラウザーのセキュリティメカニズムです。PHP の cURL は、インターネット上で何かをダウンロードするために file_get_contents を使用するのと同じように、コマンドラインの下では何の制限もなくブラウザー (クライアント) とみなすことができます。あなたが望むものと同じです、ソース。

JS Ajax有跨域限制,PHP cURL这种形式的则没有跨域限制。为什么当时确定跨域限制的时候,为什么不把PHP cURLこのデザインは少し無理が​​あると思いますか? JS Ajax にはクロスドメイン制限がありますが、 このフォームにはクロスドメイン制限はありません。クロスドメイン制限を決定する際に、なぜ

フォームをクロスドメイン制限としても使用しなかったのでしょうか?

このフォームでのクロスドメイン呼び出しを防ぐにはどうすればよいですか?

    解決策
  1. 网易云音乐的接口,是通过CSRF_TOKEN防止跨域调用的。
    PS:话说这种方案,貌似能够通过爬网页获取CSRF_TOKEN

    以前 NetEase Cloud クライアントを作りたいと思ったとき、
  2. を見てクロスドメイン呼び出しをしたことがありますよね。
  3. また、この問題を解決する解決策はありますか?

ご回答をお待ちしております、ありがとうございます!

============ 10-27 15:51 ==============PHP cURL做了什么特殊处理。谢谢南小鸟的回答,其实就是相当于直接访问指定URL

ごめんなさい、誤解し​​ていました…

による特殊な処理だと思っていました。 Nan Xiaoniao の回答に感謝します。これは実際には、指定された URL に直接アクセスするのと同等であり、当然クロスドメインの問題は発生しません...

🎜私のインターフェースが外部からアクセスできないようにしたい場合はどうすればよいですか? 🎜

イントラネット上で

これには設定は必要ありません。

外部ネットワーク上

    攻撃するために
  1. セットアップCSRF_TOKEN,但我查了一些CSRF_TOKEN的资料,貌似CSRF_TOKEN主要是为了防止跨站请求伪造,并不是用来做这个的...防止携带你的授权信息cookie:SESSIONIDをします。

  2. チェックREFER

  3. 他には何がありますか?

現在はJWT生成Token,每次,请求需要带上Tokenを使用する予定です(ユーザー情報の取得、権限制御の実行など)。

穴が空いたような気がします、ごめんなさい。また、ご回答ありがとうございますGforce

phpカールは、ブラウザでURLを直接開くことと同等であり、もちろんクロスドメインとしてカウントされません

JWTを使用するなどのインターフェース検証を実行できます

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホット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)

CakePHP プロジェクトの構成 CakePHP プロジェクトの構成 Sep 10, 2024 pm 05:25 PM

この章では、CakePHP の環境変数、一般設定、データベース設定、電子メール設定について理解します。

Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド Dec 24, 2024 pm 04:42 PM

PHP 8.4 では、いくつかの新機能、セキュリティの改善、パフォーマンスの改善が行われ、かなりの量の機能の非推奨と削除が行われています。 このガイドでは、Ubuntu、Debian、またはその派生版に PHP 8.4 をインストールする方法、または PHP 8.4 にアップグレードする方法について説明します。

CakePHP の日付と時刻 CakePHP の日付と時刻 Sep 10, 2024 pm 05:27 PM

Cakephp4 で日付と時刻を操作するには、利用可能な FrozenTime クラスを利用します。

CakePHP ファイルのアップロード CakePHP ファイルのアップロード Sep 10, 2024 pm 05:27 PM

ファイルのアップロードを行うには、フォーム ヘルパーを使用します。ここではファイルアップロードの例を示します。

CakePHP ルーティング CakePHP ルーティング Sep 10, 2024 pm 05:25 PM

この章では、ルーティングに関連する次のトピックを学習します。

CakePHP について話し合う CakePHP について話し合う Sep 10, 2024 pm 05:28 PM

CakePHP は、PHP 用のオープンソース フレームワークです。これは、アプリケーションの開発、展開、保守をより簡単にすることを目的としています。 CakePHP は、強力かつ理解しやすい MVC のようなアーキテクチャに基づいています。モデル、ビュー、コントローラー

PHP 開発用に Visual Studio Code (VS Code) をセットアップする方法 PHP 開発用に Visual Studio Code (VS Code) をセットアップする方法 Dec 20, 2024 am 11:31 AM

Visual Studio Code (VS Code とも呼ばれる) は、すべての主要なオペレーティング システムで利用できる無料のソース コード エディター (統合開発環境 (IDE)) です。 多くのプログラミング言語の拡張機能の大規模なコレクションを備えた VS Code は、

CakePHP バリデータの作成 CakePHP バリデータの作成 Sep 10, 2024 pm 05:26 PM

Validator は、コントローラーに次の 2 行を追加することで作成できます。

See all articles