setFailCookie(); exit(1); } $kid = base64url_decode($kidB64); $tbsOrigin = "https://" . $_SERVER['SERVER_NAME'] . ":" . $_SERVER['SERVER_PORT']; $sigText = genTbsBlob($nonceB64, $GLOBALS['alg'], $tbsOrigin, $kidB64, $chalB64); dbLogin(); $device = dbGetDeviceByKid($kid); if (!$device) { dump("HOBA: kid not found"); setFailCookie(); dbLogout(); exit(1); } $pem = jwkToPem($device['pubKey']); $verified = openssl_verify($sigText, $sig, $pem, OPENSSL_ALGO_SHA256); if ($verified) { dump("HOBA: Key Verification Successful"); $user = dbGetDeviceByKid($kid); $t = time() + $GLOBALS['sessionTimeout']; $chocolate = getCookieVal($user['kid'], $user['did']); dbAddDeviceSession($user['kid'], $user['did'], $chocolate, $t); setSuccessCookie($chocolate, $t); header("Hobareg: regok", true, 200); dump("HOBA: Login Successful"); } else { setFailCookie(); dump("HOBA: Login failed, Verification failure"); } dbLogout();
* ログアウト * * ファイル名:logout.php * ******************************************************************************/ // 起動 ------------------------------------------------------------------------ require_once "../boot.php"; $dbCon = new DbConn(); $session = new SessionUtil($dbCon); if (!$session->IsLogin()) { header("Location: login.php"); exit; } // メイン処理開始 -------------------------------------------------------------- $smarty = new SmartyEx(); dbLogout($dbCon); header("Content-Type: text/html;charset=UTF-8"); // テンプレート表示 $smarty->display("admin/logout.html"); exit; // 関数群 ====================================================================== function dbLogout($dbCon) { if (!$_COOKIE[APP_LOGIN_ADM_ID]) { return false; } setcookie(APP_LOGIN_ADM_ID, "", time() - 3600); try { // SQL組み立て ---------------------------------------------- $param = array(); $sql = "DELETE FROM";