問題タブ [django-cors-headers]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
2181 参照

jquery - CORS を contenType で動作させることができない - Django Rest Framework

私はこのばかげた小さな問題で一日を無駄にしてきました!

django-rest-frameworkフロントエンドで api と backbone.jsを使用しています。

オプションを追加するときに、サーバーに要求を行うことができませんcontentType

これが私がやろうとしていることの簡単な例です:

OPTIONS は失敗し、POST は送信されません。

オプションのリクエスト ヘッダーは次のとおりです。

OPTIONSが失敗する理由がわかりません。私はdjangoにcorsheadersアプリを使用しています。設定は次のとおりです。

0 投票する
5 に答える
28306 参照

django - AngularJS + Django Rest Framework + CORS (CSRF Coo​​kie がクライアントに表示されない)

Django Rest Framework + Django CORSヘッダーを使用して、AngularJSで1ページのアプリケーションを開発しています。

私の問題は、バックエンドに接続したときに「csrftoken」Cookie がブラウザーに表示されないことです。

例: 投稿を使用してログインしています。「sessionid」Cookie を適切に取得しますが、「csrftoken」が表示されないため、csrf トークンがないために拒否されるため、クライアントから適切な投稿を行うことができません。

  • API からの応答ヘッダーを分析しましたが、csrftoken がありません。
  • 残りの API ブラウザを直接見たところ、問題なく表示されました。
  • Django Rest Framework は認証されたユーザーに対してのみ CSRF を強制するため、最初の POST を実行してログインできます。再ログインしようとすると、「sessionid」-cookie が存在するため失敗します。
  • stackoverflow に関するいくつかの投稿が示唆しているように、CSRF 保護をバイパスすることに興味はありません。

フロント/バックエンドからのいくつかのコード スニペット。これらは未完成のスニペットなので、下手に書かれたコードにこだわらないでください。

バックエンド API LoginView

クライアント側の AngularJS ログイン コントローラー

}]);

良いヒント/アイデア/例を持っている人はいますか?

0 投票する
2 に答える
850 参照

django - AngularJS から CORS を許可する Django サーバーへの ajax 呼び出しを実行する

データを取得するために、AngularJS と Django-Tastypie に基づく REST API を使用して webapp を開発しています。

ajax リクエストを実行できるようにするために、django-cors-header フレームワーク ( https://github.com/ottoyiu/django-cors-headers ) を使用して django で Cross Origin Resource Sharing を有効にしましたが、chrome インスペクターでプリフライトされていることに気付きましたメインリクエストがほぼ即座にキャンセルされる前に送信されたリクエスト(OPTIONSリクエスト)は、Djangoサーバーでこれをログに記録しました:"OPTIONS /api/airport/19643 HTTP/1.1" 301

'X-Requested-With'ヘッダーからパラメーターを削除することを提案するこれに関するいくつかの投稿を見つけました( $http.get は Access-Control-Allow-Origin では許可されていませんが、 $.ajax は許可されています) が、これは GET 要求の問題のみを解決します。したがって、PUT または POST リクエストを送信しようとすると、プリフライトされたリクエストが送信され、キャンセルされます。

CORS を有効にしたときにインスペクターに表示されるのは次のとおりですが、ヘッダーから前のパラメーターを削除しません。 ここに画像の説明を入力

PUT リクエストでも同じエラーが発生します。

どこに問題があるのか​​ よくわからないので、誰かが私を正しい方向に向けてくれることを願っています.

どうもありがとう

0 投票する
1 に答える
3007 参照

django - Django と CORS を使用する AngularJS アプリで Cookie が消えた

バックエンド API として Django Rest Framework と Django CORS ヘッダーを使用して AngularJS アプリを構築しています。

今日まで、すべてが正常に機能していました。突然、csrfcookiesessionid cookieが Chrome に表示されなくなりました。

API がcsrfcookie. Chrome の開発ツールには表示されませんが、chrome://settings/cookies.

AngularJS

ジャンゴ API

0 投票する
2 に答える
2765 参照

django - angular を使用して django-rest に DELETE リクエストを送信すると、OPTIONS として解釈されます。

angularjs を使用して django-rest で構築された REST API を使用しようとしましたが、問題が発生しました。DELETE リクエストを送信すると、django-rest は OPTIONS を参照してください。

これは私がしたことです:

私の Django views.py

django-cors-headers を使用して CORS を追加しました。すべてのオリジンが受け入れられます (CORS_ORIGIN_ALLOW_ALL = True)

$resource でこれを管理する角度のあるサービスがあります

さて、ng-click="deleteNode()" のボタンで、このコントローラーを呼び出します

console.log() は毎回「nok」を返し、私のdjangoコンソールでは、

参考までに、私のAngularバージョンはv1.2.0-rc.3で、アプリに追加しました

しかし、何も変わっていません:(

アイデア ?

編集

問題は $resource にあると思います。実装が間違っているのかもしれません。$resource の代わりに $http を使用してノードを削除しようとしました

そしてすべてが大丈夫です。

0 投票する
1 に答える
919 参照

python - Heroku の Django アプリで CORS の URL を指定する

Djangoで実行されているHerokuのアプリがあります。

今、Heroku アプリで動作させたい Phonegap アプリの開発を開始しています。

CORS (Cross-Origin Resource Sharing) 保護のため、機能させることができません。したがって、Phonegap アプリを機能させるには、一部の URL (すべてのアプリではない) を除外する必要があります。

django-cors-headersをインストールしようとしましたが、うまくいかないようです。

それをテストするために、csrf_token を取得するための呼び出しを行っています。

これを自分のsetting.pyに追加しました(そしてもちろんガイドに従い、すべてをデフォルトに設定しました):

そして、これは私が作ろうとしている Ajax 呼び出しです。

しかし、これはエラーと空の応答フィールドとして赤でマークされています。

0 投票する
1 に答える
97 参照

django - 2 つのドメイン間で HTML コンテンツを共有する際のエラー

ドメイン A で実行されている Django Web サービス アプリケーションが 1 つあります。アプリケーションは、必要な HTML ファイルと画像を格納するためにコンテンツ ファイルを使用します。ドメイン B で実行されている別のアプリケーションが、私のサービスとコンテンツにアクセスしようとしています。ドメイン A で CORS を有効にしました。これで、ドメイン B からドメイン A で実行されている Web サービスと、ドメイン A からの画像ファイルにアクセスできます。しかし、コンテンツ ファイルに HTML がいくつかあります。ドメイン B からその HTML コンテンツにアクセスできません。

ng-include私のHTMLページをレンダリングするために使用するangularjsを使用して実装されたドメインB。CORS もドメイン B で有効になっています。

アプリケーションsettings.pyドメイン A

0 投票する
4 に答える
1519 参照

javascript - Django Rest Framework/Angular JS Preflight オプションのリクエスト

Django REST Framework を使用して API を作成しました。認証には、django-oauth2-provider を使用しています: https://github.com/caffeinehit/django-oauth2-provider

設定ページでcorsを次のように構成しました(Corsheadersミドルウェアを使用)。

私のクライアント アプリケーションは Angular JS で構築されています。ただし、リクエスト (GET リクエストを含む) を行うたびに、オプション リクエストが送信されます。このオプション リクエストには、リクエストに応じて 50 ~ 500 ミリ秒かかります。

API 呼び出しは " https://example.com/api/v1/posts/?page=1 (2, 3, 4...etc)"のようになります

このリクエストが行われる理由と、アプリケーションのパフォーマンスを向上させる方法について頭を悩ませる必要があります。

0 投票する
1 に答える
1526 参照

python - 別のサーバー プロセスから Django API をヒットしたときにクロス オリジン リソース共有エラーを回避するにはどうすればよいですか?

2 つの別個のコンポーネントを持つ WebApp を構築しています。

  1. Web 訪問者がアクセスする「フロントエンド」node.js アプリケーション サーバー (localhost:3099 で実行)
  2. ORM を管理し、データベースと対話する「バックエンド」Django サーバー (localhost:3098 で実行)。Web 訪問者がこのサーバーと直接対話することはまったくありません。このサーバーは、フロントエンドで使用される RESTful API を発行するだけです。

フロントエンド サーバー以外がバックエンドの API にアクセスできないようにするセキュリティ制限を実装します。

バックエンドが発行する API エンドポイントの 1 つは、次のようになりますhttp://localhost:3098/api/myApi/

次のように、curl からその API を正常にヒットできます。curl -X POST -H "Content-Type: application/json" -d '{"myKey1":"myVal1", "myKey2":"myVal2"}' http://localhost:3098/api/myApi/

しかし、Javascript を使用してフロントエンド サーバーから同じ API をヒットしようとすると、ブラウザーのコンソール ウィンドウに次のエラーが表示されます。

これを解決するために、次の手順を実行しました。

  1. django-cors-headersをインストールしました
  2. 'corsheaders'は私のINSTALLED_APPS
  3. 上に追記'corsheaders.middleware.CorsMiddleware'しましたMIDDLEWARE_CLASSES'django.middleware.common.CommonMiddleware'
  4. ホワイトリストを宣言しました:CORS_ORIGIN_WHITELIST = ('localhost', '127.0.0.1',)

ただし、django-cors-headers を実装しても違いはないようです。同じ CORS エラーが引き続き発生します。この問題を解決するにはどうすればよいですか?