2011-12-15 19 views
0

私は、バックボーンによってフェッチされたときにいくつかのJSONデータで応答するRESTFUL URLを作成しました。backbone.jsで安全にデータを送受信する方法

したがって、/listsのようなURLは、ユーザが作成したlistsのjson配列で応答します。私は、URLがmydomain.com/listsのようなアドレスバーの入力によってアクセスされると、jsonデータがブラウザ上のテキストで表示されることを望んでいます。アプリケーション内からURLにアクセスした場合にのみ、サーバーが応答するようにします。誰かがこれを達成するためのヒントを教えてくれますか?

+0

これはできません。アプリが実行できるすべて、アプリをホストするブラウザも可能です。 – Thilo

+1

あなたはおそらくFirebugのような開発者のツールを嫌うでしょう。彼らは、ユーザーにあなたのアプリについての多くの洞察力(そしてその方法を混乱させる方法)を与えます。 – Thilo

答えて

3

@Thilo氏によると、適切なツールを使って人が電線に何が流れているのかを確認することはできませんが、Firebugのコンソール/ネットタブはすでに要求を追跡し、 。

あなたができることは、HTTP_X_REQUESTED_WITH HTTPヘッダーが 'XMLHttpRequest'に設定されているかどうかをチェックし、この場合はJSONのみを返すことです。バックボーンはAjaxコールを作成します。これはバックボーンコール(現代のブラウザでは)で常にそうです。これは、アドレスバーに直接入力する(そして通常のGETリクエストを行う)人以外は、JSONが表示されないことを除いて、あまり役に立ちません。

+0

は 'HTTP_X_REQUESTED_WITH'で、ajaxリクエストをチェックするための絶対的な方法ではありませんか、サーバー側でさらにチェックする必要がありますか? – vikmalhotra

+0

jQueryはAjaxリクエスト中にこのヘッダを常に設定しますので、Ajaxライブラリを確認してください。 – c4urself

+0

Re: "簡単"です。 jQueryリクエストにはそれがありますが、リクエストを行っている人は誰でもこのヘッダを追加できます。繰り返しますが、これはアドレスバーに直接入力する人にのみ役立ちます。誰かがそれを「ハックする」ことを望むならば、そうすることができます。 – Thilo

関連する問題