2017-01-07 5 views
0

私はWebサービスとセキュリティのトピックで初心者です。私はログインのための春の起動安らかなWebサービスを作成したい。私はパラメータとしてurlを送ることができますが、同じ方法でパスワードを送信することは安全ではありません。では、Webサービスにパスワードを渡す方法は何ですか?春のブートに安心なwebserviceにパスワードを送信する方法

パスワードをハッシュすることについては言及していますが(私は理解すると安全ではありません)、usind md5などです。私はかなり初心者なので、私の心の中にはっきりとしたイメージはありません。

安らかなWebサービスにパスワードを送信するには、どのように従うべきですか?

答えて

0

最も一般的な方法は、POSTリクエストを使用し、ペイロードオブジェクトにユーザー名と暗号化されたパスワードを含めることです。したがって、バックエンドでは@RequestBodyで受信します。

1

すぐに起動して実行するには、POSTリクエストでパスワードを送信してURLに表示されないようにします。

通常、ログイン時にパスワードはハッシュではなくサーバーに送信されます。攻撃者がパスワードを盗聴するのを避けるには、サイトをhttpsにする必要があります。

また、以降のすべてのサーバー要求には、X-Authトークンと呼ばれるトークン(サーバーによって与えられる)を使用できます。このトークンは、ユーザーのマシンにCookieとして保存され、セッションの無効化の有効期限を持つことができます。

パスワードは、Bcryptが推奨される暗号化方式で保存する必要があります。

POST以外にもWebセキュリティには多くのものがあります。&ハッシング。 Rob Winchの(最初の2)excellent video presentationsを見ることをお勧めします。彼はSpring Securityプロジェクトでリードしています。

春のブートは、これらの複雑なソリューションの多くを簡単に構成可能にします。他のそのような機能の実装については、the same sitethis repoをチェックしてください。

+0

は、このトピックに関連するアドバイスや共有ソースをありがとうございました。 – cincin

+0

あなたは歓迎です:) – DeepakV

0

前述のように、基本的なハッシングクライアント側は、クライアントがハッシングアルゴリズムを知っているので実際には意味を持たないので、何も隠していません。 HTTPSを使用すると、誰もあなたのワイヤデータを読み取ることができなくなります。あなたはwikipediaでHTTPSと公開鍵/秘密鍵の詳細を読むことができます。

パスワードを本文に入れることもできますし、Authorizationヘッダーとして "Authorization": "Basic username:password"と入力することもできます。 (https://en.wikipedia.org/wiki/Basic_access_authentication)。 pplは電子メールに貼り付けURLをコピーするのが好きなのでURLは通常悪いです。

重要なことは、パスワードが入っていないトークンと交換する必要があることです。これがウェブアプリの場合、HTML5ローカルストレージまたはCookieとして保存しています。 Android/iOSの場合、「設定」として保存する方法があります。

私はしばらく前に別のトークンとそれらを格納する方法にはほとんどの情報を書いた:https://www.moesif.com/blog/technical/restful-apis/Authorization-on-RESTful-APIs/

関連する問題