0

私はphpウェブサービスを使用するAndroidアプリケーションを開発しています。サーバー側とクライアント側の間のセッションの処理に問題があったため、別のアプローチをとることにしました。session_id、user_id、session_token、expiry_dateを含むuser_sessionテーブルを作成することを計画しています。

session_tokenはユーザーからのいくつかのフィールドを使用して生成されますが、expiry_dateはsession_tokenが再生成されるかnullに変更される日付です。これは、ユーザーがAndroidに再度ログインする必要があることを意味します。

シナリオ:1。ユーザーが正しい資格情報を入力します。2。Webサービスがユーザーのsession_tokenを生成し、それをuser_sessionテーブルに格納して、値をクライアント側に送信します。3. Androidアプリケーションからのすべてのリクエストについて、Webサービスはクライアント側のsession_tokenがテーブルのsession_tokenに対応しているかどうかを確認します。

私の質問:1。他のフィールドを使用してphpで一意の値を生成する方法がわからないので、session_tokenとexpiry_dateの作成を手伝ってくれませんか。2.セキュリティの観点からそれだけの価値はありますか?

ご協力ありがとうございました

4

1 に答える 1

0

あなたはhasingを使うことができます:

$token = sha1($ssid.$something);

$ssid = session_id();

その $token 変数はあなたのトークンです..データベースに挿入し、条件を作成します。これは一意であり、セッション ID やその他の「思考」に基づいています。電子メール アドレスやその他のフィールドを使用できますが、ユーザーがそのフィールドを変更した場合は、トークンを再度生成する必要があることに注意してください。

于 2013-02-25T18:28:11.573 に答える