Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
一个简单令牌系统的PHP时间管理_Php_Database_Login_Token - Fatal编程技术网

一个简单令牌系统的PHP时间管理

一个简单令牌系统的PHP时间管理,php,database,login,token,Php,Database,Login,Token,我必须创建一个用于登录用户的令牌系统。下面是它的工作原理 1。登录过程 PHP检查提供的信息是否有效。如果有效,它将进一步移动 它在数据库中创建一个带有用户id的令牌。令牌需要一些值,但我现在主要关注的是实现create\u time、expire\u time 如何创建让我们假设两个变量$create\u time和$expire\u time其中$create\u time是当前脚本执行时的值,$expire\u time是3小时后的$create\u time 2。令牌使用情况 另外,

我必须创建一个用于登录用户的令牌系统。下面是它的工作原理


1。登录过程

  • PHP检查提供的信息是否有效。如果有效,它将进一步移动
  • 它在数据库中创建一个带有用户id的令牌。令牌需要一些值,但我现在主要关注的是实现create\u time、expire\u time
  • 如何创建让我们假设两个变量$create\u time$expire\u time其中$create\u time是当前脚本执行时的值,$expire\u time是3小时后的$create\u time


    2。令牌使用情况

    另外,当我从数据库中获取结果时,我将如何检查令牌是否过期或有效的时差


    实现令牌的原因- 我一直在尝试为应用程序创建API。比起在每个请求中传递用户名和密码,我认为在每个请求中提供令牌比提供完整信息更方便客户的使用和安全


    感谢阅读,再次感谢回答。

    只需使用DateTime设置变量:

    $create_time = new DateTime;
    $expire_time = new DateTime;
    $expire_time->modify('+3 hours');
    
    要进行检查,请使用以下内容:

    $time_now = new DateTime;
    if($expire_time_from_db < $time_now){
     //its expired
    }}
    
    $time\u now=新日期时间;
    如果($expire\u time\u from\u db<$time\u now){
    //它过期了
    }}
    
    您使用的是什么数据库您应该以易于区分创建时间和过期时间的方式存储令牌。因此,要检查令牌是否有效,您需要从数据库中获取值,去掉所有不必要的部分,然后将当前时间与到期时间进行比较。已经有很多东西是为您想要做/使用的东西而制作的。张贴您遇到困难的代码;到时候我们很乐意帮助你。对不起,这只是一个一般性的问题。我还必须实现代码。我现在有了。不是为了我,是为了行动