問題タブ [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.
jquery - CORS を contenType で動作させることができない - Django Rest Framework
私はこのばかげた小さな問題で一日を無駄にしてきました!
django-rest-framework
フロントエンドで api と backbone.jsを使用しています。
オプションを追加するときに、サーバーに要求を行うことができませんcontentType
。
これが私がやろうとしていることの簡単な例です:
OPTIONS は失敗し、POST は送信されません。
オプションのリクエスト ヘッダーは次のとおりです。
OPTIONSが失敗する理由がわかりません。私はdjangoにcorsheadersアプリを使用しています。設定は次のとおりです。
django - AngularJS + Django Rest Framework + CORS (CSRF Cookie がクライアントに表示されない)
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 ログイン コントローラー
}]);
良いヒント/アイデア/例を持っている人はいますか?
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 リクエストでも同じエラーが発生します。
どこに問題があるのか よくわからないので、誰かが私を正しい方向に向けてくれることを願っています.
どうもありがとう
django - Django と CORS を使用する AngularJS アプリで Cookie が消えた
バックエンド API として Django Rest Framework と Django CORS ヘッダーを使用して AngularJS アプリを構築しています。
今日まで、すべてが正常に機能していました。突然、csrfcookie
とsessionid cookie
が Chrome に表示されなくなりました。
API がcsrfcookie
. Chrome の開発ツールには表示されませんが、chrome://settings/cookies
.
AngularJS
ジャンゴ API
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 を使用してノードを削除しようとしました
そしてすべてが大丈夫です。
python - Heroku の Django アプリで CORS の URL を指定する
Djangoで実行されているHerokuのアプリがあります。
今、Heroku アプリで動作させたい Phonegap アプリの開発を開始しています。
CORS (Cross-Origin Resource Sharing) 保護のため、機能させることができません。したがって、Phonegap アプリを機能させるには、一部の URL (すべてのアプリではない) を除外する必要があります。
django-cors-headersをインストールしようとしましたが、うまくいかないようです。
それをテストするために、csrf_token を取得するための呼び出しを行っています。
これを自分のsetting.pyに追加しました(そしてもちろんガイドに従い、すべてをデフォルトに設定しました):
そして、これは私が作ろうとしている Ajax 呼び出しです。
しかし、これはエラーと空の応答フィールドとして赤でマークされています。
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
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)"のようになります
このリクエストが行われる理由と、アプリケーションのパフォーマンスを向上させる方法について頭を悩ませる必要があります。
python - 別のサーバー プロセスから Django API をヒットしたときにクロス オリジン リソース共有エラーを回避するにはどうすればよいですか?
2 つの別個のコンポーネントを持つ WebApp を構築しています。
- Web 訪問者がアクセスする「フロントエンド」node.js アプリケーション サーバー (localhost:3099 で実行)
- 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 をヒットしようとすると、ブラウザーのコンソール ウィンドウに次のエラーが表示されます。
これを解決するために、次の手順を実行しました。
- django-cors-headersをインストールしました
- 私
'corsheaders'
は私のINSTALLED_APPS
- 上に追記
'corsheaders.middleware.CorsMiddleware'
しましたMIDDLEWARE_CLASSES
'django.middleware.common.CommonMiddleware'
- ホワイトリストを宣言しました:
CORS_ORIGIN_WHITELIST = ('localhost', '127.0.0.1',)
ただし、django-cors-headers を実装しても違いはないようです。同じ CORS エラーが引き続き発生します。この問題を解決するにはどうすればよいですか?