2016-03-23 9 views
3

私はバックエンドをハックしようとしていますが、これはREST APIを公開しています。 FirefoxのCORSポリシーに従ってデータベースに起こりうる最悪の事は、プリフライトを必要としないので、POSTリクエストで新しいオブジェクトを作成できるということです。これは、単純なコードです(私はjsfiddleを経由して、それを実行しているんだけど、それは事を意味するものではありません)シンプルなCORSは機能しません(それは必要です)

var xhttp = new XMLHttpRequest(); 
xhttp.open("POST", "http://127.0.0.1:8000/api/v1/company", true); 
xhttp.withCredentials = true; 
xhttp.setRequestHeader('Content-Type', 'text/plain'); 
xhttp.send('{description:"This company was added by pure hacking"}'); 

しかし、私は、コンソールにエラーを取得しています:

Blocked loading mixed active content "http://127.0.0.1:8000/api/v1/company" 
+0

はjsFiddleはそれが' httpsのないコンテンツをロードしないことを意味しており、SSLを使用しています。 localhostに接続しているときには、代わりにローカルWebサーバーを使用する必要があります。 – adeneo

+0

より良いテストは、カール要求を使用することです。 curl -H "Content-Type:application/json" -X POST -d '{description: "この会社は純粋なハッキングによって追加されました"}' http://127.0.0.1:8000/api/v1/companyあなたのローカルホストではなく、外向きではないことは非常に有用ではありません... –

+0

しかし、 'curl'はブラウザでクッキーを転送することはできません。それはすべてのユーザーのクッキー(csrf)についてです – Adam

答えて

0

エラーHTTPSページでHTTPリクエストを行っている、混在したコンテンツエラーであるSOPのためではありません。
jsfiddleのデフォルトはhttpsですが、httpは許可されていますが、保存されたFiddlesのみが許可されます。 // `:

変更使用するようにフィドルのURLのhttpの代わりにhttpsを

+0

今、それは動作します(私は私のページで権限を取得していないと私は理由を調べる必要があります) – Adam

関連する問題