0

私はパスワードのリセットに取り組んでおり、トークンが時間範囲内にあるかどうかを確認している部分にいます。

これは私のコードです:

            $tokentime = substr($dbtoken[0], 0, 4); // get the DB time that I store with date('hi') . $token
            $now = date('hi'); // Create the now time in same format as $tokentime

            var_dump($now); // This generates : 0838 (couple mines ago) 
            var_dump($tokentime); this generates : 0652 (102 minutes ago)
            var_dump(strtotime($now)); // convert 8380 to unix time
            var_dump(strtotime($tokentime)); // convert 0652 into unix time

            if (strtotime($now) - strtotime($tokentime) >= 600) { // If the unix seconds are equal to or greater then 600 seconds 
                echo "Token Expired";
            } else {
                echo "Not Expiered";
            }

私の考え方は正しいですか?

これは var_dump 値です:

string(4) "0838" string(4) "0652" int(1377175080) int(1377168720) トークン期限切れ

10 分 600 秒で有効期限が切れるように設定しました。

時間の違いをチェックし、トークン内に日付値を保存するのはこれが初めてです。これが時間の違いを見つける正しい方法であるかどうかを知りたかっただけです。

4

1 に答える 1