2012-04-06 11 views
0

Senchaで開発したアプリケーションからWebサーバーにユーザー名とパスワードを送信するためのベストプラクティスは何ですか?アプリからサーバーにユーザー名とパスワードを送信するベストプラクティス

Ext.Ajaxの機能と同じくらい簡単ですか? (http://docs.sencha.com/touch/2-0/#!/api/Ext.Ajax)

Ext.Ajax.request({ 
    url: 'validation-username-password.php', 
    params: { 
     username: Bob, 
     password: pass123 
    }, 
    success: function(response){ 
     var text = response.responseText; 
     // process server response here 
    } 
}); 

は、それが私の心を持つべき何かですか?安全のような?上記の方法を使用すると、ユーザーはアプリ(電話)とウェブサーバーの間のユーザー名とパスワードを盗聴できますか?

答えて

2

セキュリティで保護された接続(SSL/HTTPS)を使用していない限り、認証情報が送信されないことを確認してください。

+0

同意と+ 1ed。実際のJavascriptコードは、使用されているプロトコルほど重要ではありません(HTTPSは安全です、HTTPは常にパスワードを盗聴することを意味します)。 – Jay

1

使用セキュアな接続とあなたがOAuthまたはその良い以外の標準的な認証方法を使用している場合、サーバーへの資格を送信するため をPOSTメソッドを使用します。

-1

SSLを使用していても、パスワードをプレーンテキストとして送信しないでください。代わりに、パスワードのハッシュを送信し、可能であればサーバーでパスワードのハッシュを保存してください。このようにして、ハッカーがパスワードのすべてのハッシュが格納されているサーバーデータベースに入ると、彼はパスワードのリストを取得しませんが、ほとんどの場合は無用になる塩でハッシュのリストを取得します。ハッカーがサーバーに侵入して平文パスワードのリストを取得した場合、ユーザーは同じパスワードを多くのサイトで使用することがあります。その後、他のサイトの他の多くのアカウントにハッキングするためのリストがあります。したがって、平文のパスワードの代わりにハッシュを使用する方が良い方法です。

TL; DRではなく、プレーンテキストのパスワードのSSLによるパスワードのハッシュを送信し、代わりに、サーバー上に平文パスワードを格納塩と一緒に、パスワードのハッシュを格納しません。

+1

クライアントから実際のパスワードの代わりにハッシュを送信しても、セキュリティを向上させることはできません。ハッシュ方法は、クライアントのコードを知っているため、攻撃者に知られています。また、ハッシュを無効にすることもできます。単純にハッシュをパスワードから生成せずに送信することもできます。何も得られません。重要な部分はサーバー側のハッシングです。 SSLと組み合わせると、サーバーの情報漏えいの場合に第三者による盗聴やパスワードの回復を防ぐのに十分な安全性があります。 – Sven

+0

場合によっては助けになります。そして、あなたは私が言ったことを繰り返しました。 – scrafy

+0

私の主なポイントは、パスワードのハッシュを送信するというあなたの提案に反対するということです。これは単に間違っています。 – Sven

関連する問題