示例#1
0
    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";