質問: お世話になっております。 いくつかのWEBAPIを利用する場合、「アプリケーションID」など、利用者・利用システムの識別情報をサーバへ送る必要がありますが、皆さまこれをどのように隠しておられるでしょうか?決め手がみつからずに難渋しています。 こちらで紹介されている方のように、ページをかませる方法もありますが、かませたページを他者からハック・利用される懸念、またブラウザがリファラーを必ず送ってくるとも限らないと思いますし... http://freefielder.jp/blog/2011/11/yahoo-japan-web-api-id.html 隠す必要がない、とのご意見もあれば、ぜひお聞かせいただければと思います。
回答: 通常、フロントエンド(javascript)で使われるAPIで、 アプリケーションIDやAPIキーが見えてしまうのは仕方がないことだと思いますよ。 使っているAPIによって、様々だとは思いますが、悪用されないためのセキュリティは、 それ以外の方法で担保するのが一般的だと思います。 自分はGoogleのAPIぐらいしか使っていないですが、 Google APIだと、登録されたリファラーからしかリクエストを受け付けないなどの制限があります。 使ったことないですが、URL 署名シークレットをつけることもできるようです。 まぁ、APIによって取り組みは色々なので、セキュリティの観点からどのAPIを使うかは大事ですね もし、セキュリティの心配なAPIを使わないといけない場合は、サーバサイドからAPIは呼ぶような自前のAPIでラップすれば隠蔽できると思います。ただし、jsライブラリなどと連携するAPIは無理ですが...