visuddhinanda 3 лет назад
Родитель
Сommit
f1fd948eb5
3 измененных файлов с 50 добавлено и 6 удалено
  1. 41 1
      public/app/public/function.php
  2. 3 1
      public/app/ucenter/index.php
  3. 6 4
      public/app/ucenter/user.php

+ 41 - 1
public/app/public/function.php

@@ -2,6 +2,10 @@
 require_once __DIR__ . '/casesuf.inc';
 require_once __DIR__ . '/config.php';
 require_once __DIR__ . '/../config.php';
+
+// Require Composer's autoloader.
+require_once  __DIR__ . '/../../vendor/autoload.php';
+
 $_book_index = null; //书的列表
 
 /*
@@ -98,7 +102,7 @@ function _get_para_path($book, $paragraph)
 			if ($sFirstParentTitle == "") {
 				$sFirstParentTitle = $FetParent["toc"];
 			}
-			$parent = $FetParent["parent"];			
+			$parent = $FetParent["parent"];
 		}else{
 			break;
 		}
@@ -112,6 +116,42 @@ function _get_para_path($book, $paragraph)
     return ($path);
 }
 
+use Firebase\JWT\JWT;
+use Firebase\JWT\Key;
+
+class USER
+{
+    public static function current(){
+        if(isset($_COOKIE['token'])){
+            $jwt = JWT::decode($_COOKIE['token'],new Key(APP_KEY,'HS512'));
+            if($jwt->exp < time()){
+                return [];
+            }else{
+                //有效的token
+                return ['user_uid'=>$jwt->uid,'user_id'=>$jwt->id];
+            }
+        }else if(isset($_COOKIE['user_uid'])){
+            return ['user_uid'=>$_COOKIE['user_uid'],'user_id'=>$_COOKIE['user_id']];
+        }else{
+            return [];
+        }
+    }
+    public static function isSignin(){
+        if(isset($_COOKIE['token'])){
+            $jwt = JWT::decode($_COOKIE['token'],new Key(APP_KEY,'HS512'));
+            if($jwt->exp < time()){
+                return false;
+            }else{
+                //有效的token
+                return true;
+            }
+        }else if(isset($_COOKIE['user_uid'])){
+            return true;
+        }else{
+            return false;
+        }
+    }
+}
 class UUID
 {
     public static function v3($namespace, $name)

+ 3 - 1
public/app/ucenter/index.php

@@ -29,6 +29,7 @@ switch ($op) {
 		}
 		setcookie("user_uid", "", time() - 60, "/");
 		setcookie("user_id", "", time() - 60, "/");
+		setcookie("token", "", time() - 60, "/");
 
 		setcookie("uid", "", time() - 60, "/");
 		setcookie("username", "", time() - 60, "/");
@@ -157,7 +158,8 @@ if (isset($_POST["op"]) && $_POST["op"] == "new") {
                 $payload = [
                     'nbf' => time(),
                     'exp' => $ExpTime,
-                    'uid' => $user_uuid
+                    'uid' => $user_uuid,
+                    'id' => $uid
                 ];
                 $jwt = JWT::encode($payload,$key,'HS512');
                 //End of JWT

+ 6 - 4
public/app/ucenter/user.php

@@ -70,8 +70,10 @@
 </style>
 <div class="dropdown" onmouseover="switchMenu(this,'user_info')" onmouseout="hideMenu()">
 
-	<?php
-	if (isset($_COOKIE["userid"])) {
+<?php
+require_once __DIR__."/../public/function.php";
+
+	if (USER::isSignin()) {
 	?>
 		<button class="dropbtn icon_btn" onClick="switchMenu(this,'user_info')" id="use_mode">
 			<svg class="icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32" id="ic_user_32px">
@@ -93,7 +95,7 @@
 						?>
 					</span>
 				</a>
-				<a href='../uhome/index.php?userid=<?php echo $_COOKIE["userid"]; ?>'>
+				<a href='../uhome/index.php?userid=<?php echo $_COOKIE["user_uid"]; ?>'>
 					<svg class="icon">
 						<use xlink:href="../studio/svg/icon.svg#my_zone"></use>
 					</svg>
@@ -120,4 +122,4 @@
 	?>
 
 
-</div>
+</div>