2012-05-07 5 views
0

現在、GoogleからOpenIDを使用してユーザーがサービスにログインできるようにするgolangのGAEアプリケーションを開発しています。明らかに各アカウントは1つのGoogleアカウントにマッピングされます。ユーザー登録のためにcaptchaを実装すべきか、あるいはOpenIDを使ってボット攻撃からのサービスを既に阻止する必要がありますか?Google App Engine Go - OpenIDを使用して、私もcaptchaを使用する必要がありますか?

+0

あなたの自動化されたプロセスがあなたのサイトで何をしているのですか?それは脅威モデルとコスト/利益のトレードオフのすべてに関するものです。確かにOpenIDをサポートしている場合、攻撃者は自分の望むだけの数のOpenIDプロバイダを自動的に作成することができます。 –

答えて

1

まず、ボット攻撃の恐怖は、実際には予備の注意です。 CSRFトークン(あなたはとにかく使用する必要があります)を解析し、クッキーを処理すると、すでに攻撃者に十分な痛みがもたらされます。誰かがそれを行うための唯一の方法である独自のOpenIDプロバイダをセットアップすることに誰も気づかないだろう。

第2に、App EngineのOpenIDフェデレーテッド・ログインは、実行時のAPIではなく、ユーザーAPI機能です.OP(Facebook、Yahoo !, Steam ... Google)でOPを使用できます。ユーザーAPIには、2つのモード(アプリケーション設定で構成可能)が用意されています.OpenIDフェデレーテッド・ログインとGoogleアカウントのサインイン。必要なのはユーザーのGoogleアカウントだけですが、後者の方が使いやすいでしょう。ほとんどの場合パスワードなしの簡単なサインインが必要な場合は、OpenIDを選択してください。アプリの観点から見ると、どちらも同じように見えます。しかし、OAuthに行く最良の方法です。

GoogleアカウントAPIとOAuthの両方で、このような攻撃はほとんど不可能になり、OpenIDでは少しがより簡単になります。

https://developers.google.com/appengine/docs/go/users/overview

3

受け取り中 OpenID?次に、これはではなく、で十分です。 誰でもは、自分のドメインにOpenIDサイトを置くことができます。スクリプトを使用して10億のアカウントを作成し、サイトの1つでログインします。

に限定して受け入れていますか? OpenIDプロバイダですか?それで、あなたはOpenIDを使用することを意図したものではありません(実際にはなぜそれが作成されたのかとは正反対です)。しかし、その答えは次のようになります:アカウント作成時にOpenIDプロバイダーが自分のデューデリジェンスを実行してスパムアカウントを防ぐことを信頼していますか?

captchaは貧弱な解決策であり、現在はすべての実装が壊れています(しかし、それは全く異なるテーマです)。

+0

GAE Goは私が知る限り、Googleアカウントのみを使用します。それに応じて私の質問を編集しました。 – ThePiachu

+0

私の答えは変わらない - 私はすでに2番目の段落でそれをカバーしている。 –

+2

いいえ、App EngineのOpenIDサポートは、どのOpenIDプロバイダでも動作します。それ以外の場合は、既存のUsers API上に提供する必要はありません。 –

関連する問題