4

私は 2 つの異なる django プロジェクトを持っています。1 つはドメイン A にあり、多くの機能があります (その中の REST)。サイト B はシンプルで、サイト A に ajax フォームを投稿したいのですが、csrf セキュリティは維持します。それは可能ですか?

ところで、サイトは必要に応じてデータベースを共有できます。

4

1 に答える 1

2

同様の問題があり、次の方法で解決できました。

  1. サイト B からサイト A に GET リクエストを発行して、フォームを取得します (csrf フィールドを使用)
  2. フォームをサイト A に POST します。

私にとっての主な問題は、クロスサイト ajax リクエストを機能させることでした。これを実現するには、サーバー側で CORS を正しく構成し (このミドルウェアを少し編集しました: https://gist.github.com/strogonoff/1369619 )、設定xmlHttp.withCredentials = true(ここで xmlHttp は XMLHttpRequest オブジェクト)を設定する必要がありました。 ajax POST 関数。

同じ IP アドレスの 2 つの異なるポートでこのソリューションをテストしましたが、クロスドメインでも動作するはずです。

于 2013-04-14T12:35:54.860 に答える