0

同じモバイルアプリと Web パーツを作成しています。モバイルアプリでphp5を使用して、jsonデータを返すすべてのAPIを作成しました。jqueryを使用して、別のサーバーでホストされている同じapiファイルを使用して、jqueryのデータでapiファイルにパラメーターを渡し、応答でjsonデータを取得できるようにします。しかし、jquery を使用すると、クライアント側ですべてを安全に使用できることを理解できません。セッションを作成し、ある API から返された json データを jquery を使用して別のページに送信するのと同じです。私はインターネットでしばらく検索してきましたが、php で curl を使用し、モバイル アプリ php を呼び出す php からデータを返し、次のようにデータを jquery に返すという解決策をいくつか取得しました。

Jquery -> web php ファイル -> mobile-php-api (json データを web php ファイルに返します) -> jquery

誰かがそれについて貴重な提案をすることができますか? ウェブ上でも完全な認証を使用して、作成済みの api ファイルを解析するには何を使用すればよいですか。

4

2 に答える 2

3

API がアプリケーションの同じドメインにない場合、AJAX を使用することは、クロスドメイン リクエストのため、あまり効果的なソリューションではありません。一部のプロキシとブラウザは、デフォルトでこれらのリクエストをブロックします。あなたが言ったように、cURLを使用する必要があると思います。または、SOAP を使用して実際の WebService を作成しますが、アプリがすぐに必要な場合は難しい場合があります。

最初のドメインでホストされている PHP と API の間の通信を保護するために、いくつかのチャレンジ メカニズムで生成された一意のトークンを送信できます。そして、この課題を PHP スクリプトで非表示にします (そのため、クライアントはそれを見ることができません)。

于 2013-06-20T07:39:45.083 に答える
0

具体的にどのビットについて尋ねているのか完全にはわかりませんが、ここに行きます...

あなたが説明しているように見えるのは、PHP でREST API を作成し、javascript/HTML でフロントエンドを作成することです。

単純なアプリの場合はjQuery$.ajax() で十分かもしれませんが、大規模なフロントエンド アプリの場合は、 BackboneJSのような MVC スタイルのクライアント側フレームワークを検討することをお勧めします。

最後に、別のページが別のドメインを意味する場合、問題は、フロントエンドと同じドメインを介して API をホスト (またはおそらくプロキシ) するか、CORS (Cross Origin Resources Sharing) を使用してドメイン間で動作するかのいずれかに関係します。Internet Explorer での CORS サポートは悪く、CORS 認証はせいぜいトリッキーです。CORS に固執する場合は、OAuth2を検討することをお勧めします。

于 2013-06-20T07:51:46.060 に答える