web-dev-qa-db-ja.com

パスワードの代用?

現在、ユーザーをログインさせ、PHP $ _SESSIONを使用してそのセッションを追跡するWebサイトがあります。これをAndroidアプリに転送しようとしています。つまり、セッションを使用してユーザーのログインを追跡することはできません。これを回避する1つの方法は、ユーザーの電話が最初にログインしたときにサーバーに長い認証トークンを生成し、それを電話に保存します。これは、電話からサーバーへのリクエストのURLに渡され、電話がユーザーのアクセスにアクセスできるようになります。データ。このアプローチはどの程度安全ですか?

3
penalosa

JWTを使用する: https://jwt.io/ 、私の意見では、特にAPIベースの通信において、セッションを管理する最良の方法です。また、暗号化されたトークンで任意の情報を送信できるため、ロギングやデバッグに最適です。

PHPうまく機能するここにあります: https://github.com/firebase/php-jwt

1
Trickycm

安全で、$ _ SESSIONのようなものです。

ただし、ユーザーがログアウトをクリックするか、パスワードを変更した場合、サーバーはトークンを無視する必要があります。 HTTPSを使用し、しばらくの間トークンを更新することをお勧めします。

重要なアプリケーションの場合は、ユーザー名とパスワードの代わりに第2要素を使用できます。

トークンは、弱い疑似乱数ジェネレータに基づくものや、暗号によって生成されるものではありません。安全ではありません。

0
Sha000