JSONPおよびクロスドメインクエリ-読み取りだけでなく更新/操作する方法
質問
だから私はThe Art&を読んでいますJavascriptの科学。これは優れた本であり、JSONPに関する優れたセクションがあります。私は今日それについてすべてを読んでおり、StackOverflowのすべての質問に目を通しています。 JSONPは素晴らしいアイデアですが、「同じ起源の問題」だけを解決するようです。 データを取得しますが、変更データには対応しません。
これについて説明したすべてのブログを見逃したのですか、それともJSONPは私が望んでいたソリューションではありません ?
解決
JSONPを使用すると、GET要求として必要となる可能性のあるパラメーターを持つSCRIPTタグが別のサーバーに生成されます。例:
<script src="http://myserver.com/getjson?customer=232&callback=jsonp543354" type="text/javascript">
</script>
技術的には、サーバー上のデータを変更するこの種のリクエストを止めるものはありません。 newName = Tonyを指定します。その後、更新は成功したかどうかで応答することができます。クエリ文字列に収まるものによって制限されます。このアプローチを使用する場合は、プロキシがキャッシュしないように、ランダム要素をパラメーターとして追加します。
一部の人々は、これがGETの動作方法に反すると考えるかもしれません。つまり、データを変更させるべきではありません。
他のヒント
はい、正直言ってそのパラダイムに固執したいと思います。ただし、ルールを曲げて、CRUCIALデータを変更/処理しない要求はGET呼び出しを介してアクセスできると言うかもしれません... hm ...
たとえば、私はショッピングカートシステムを構築しています。データを変更することはできても、GETを使用すると、カートへのアイテムの追加/削除などを非常に簡単に公開できると思います。重要なことは何でもしてください。誰かがショッピングカートに悪意を持って1,000台のフラットスクリーンモニターを追加した場合、攻撃に対して脆弱ではない少なくとも1つの検証ステップがあります(その時点での標準ASP.NETページ、検証とすべてのジャズ)。
これは誰の意見でも良い/実行可能なソリューションですか?