1

以下のようにjQueryを使用してサービスを呼び出す場合、この場合、サービスコールが表示され、ユーザーに表示されます。これにより、ユーザーはフィドラーまたは任意のカスタムWebアプリケーションを使用してそのようなサービスを呼び出すことができます。

$.ajax({
   url: SERVICE_URL?Q1=eee&Q2=sss,
   dataType: "application/json",
   data: {...},
   ......
})

この問題を解決するために、Gmail、Facebook、またはTwitterでどのような手法が採用されたかは、スクリプトにそのようなタイプの呼び出しがないことがわかったためです。

私は、彼らがoAuth認証プロバイダーを使用して、jQueryから何かにアクセスする必要があるたびに渡すアクセストークンを生成していることを発見しました...

誰かがサービスのURLを表示しない、またはエンコードしないためのベストプラクティスを確認するのを手伝ってください

4

2 に答える 2

1

dataTypeを「jsonp」に変更してみてください

于 2012-04-15T15:10:55.747 に答える
0

以下を適用した方が良いと思いますが、それでもサービスを確保するのに十分かどうかはわかりません。

  • すべてのバックエンドサービスはAPIにパックする必要があります。
  • システムコンポーネント全体で任意のストア(memcacheやredisなど、後者は、remember me機能が存在する場合は永続化する方がよい)で共有セッションを使用し、認証または承認されていない場合にサービスへの呼び出しを防止します
  • 1秒あたりの最大ヒット数を使用してヒットを防ぐようにサービスを管理します...(redisを使用している場合はこの手法を適用できます)

ヒント:Redisの永続性について詳しくは、http://redis.io/topics/persistenceをご覧ください

更新:例として、AWSは現在APIゲートウェイとAmazon Cognitoを介してこれを実装しており、これがサーバーレスアプリケーションとして知られるようになりました:)

于 2014-03-07T10:33:43.850 に答える