84669 人が学習中
152542 人が学習中
20005 人が学習中
5487 人が学習中
7821 人が学習中
359900 人が学習中
3350 人が学習中
180660 人が学習中
48569 人が学習中
18603 人が学習中
40936 人が学習中
1549 人が学習中
1183 人が学習中
32909 人が学習中
如何保持app的登录状态并且控制访问呢?新手很疑惑,我知道可以用key chain 来保存用户名和密码,每次调用出来登录。登录之后可以做一个token,每次需要访问数据库的时候,验证token。
问题是,我看有些教程制作token的时候,将用户名,密码,还有一大堆信息都使用进去了,这样导致token的长度很长。并且此时token已经包含了用户名和密码这种关键信息,再非https传输的情况下,和每次都都要验证用户名+密码的方式有什么区别呢?
小伙看你根骨奇佳,潜力无限,来学PHP伐。
https 以外の場合、トークンは通常、ユーザーの情報を暗号化して得られるコードの文字列です。たとえば、単純に: token = md5(username+password) とすると、サーバーと通信するときに、サーバーがユーザー名を取得した後、対応するパスワードをデータベースからクエリします。次に、md5(ユーザー名+パスワード) を使用して、クライアントから渡されたパスワードと比較します。通常、トークンはログイン時にサーバーからクライアントに返されます。クライアントはトークンを保持します。これは、アプリのログイン状態が維持されることを意味します。
あなたが言ったことは、各ユーザーに一意の識別子を割り当てることに他なりません
ユーザー名、パスワード、および多くの情報が使用されるため、トークンの長さが非常に長くなります。そしてこの時点で、トークンにはユーザー名やパスワードなどの重要な情報がすでに含まれています
この問題についてはまったく考慮する必要はありません。ユーザー ID + タイムスタンプの後の Base64 難読化文字列をトークンとして完全に使用できるためです。この方法では、トークンはそれほど長くはならず、中間送信中に傍受される心配はありません。
https 以外の場合、トークンは通常、ユーザーの情報を暗号化して得られるコードの文字列です。たとえば、単純に: token = md5(username+password) とすると、サーバーと通信するときに、サーバーがユーザー名を取得した後、対応するパスワードをデータベースからクエリします。次に、md5(ユーザー名+パスワード) を使用して、クライアントから渡されたパスワードと比較します。通常、トークンはログイン時にサーバーからクライアントに返されます。クライアントはトークンを保持します。これは、アプリのログイン状態が維持されることを意味します。
あなたが言ったことは、各ユーザーに一意の識別子を割り当てることに他なりません
この問題についてはまったく考慮する必要はありません。ユーザー ID + タイムスタンプの後の Base64 難読化文字列をトークンとして完全に使用できるためです。この方法では、トークンはそれほど長くはならず、中間送信中に傍受される心配はありません。