⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 nonce.php

📁 简介:IceBB是一个强大
💻 PHP
字号:
<?php/** * Nonce-related functionality. * * @package OpenID *//** * Need CryptUtil to generate random strings. */require_once 'Auth/OpenID/CryptUtil.php';/** * This is the characters that the nonces are made from. */define('Auth_OpenID_Nonce_CHRS',"abcdefghijklmnopqrstuvwxyz" .       "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789");// Keep nonces for five hours (allow five hours for the combination of// request time and clock skew). This is probably way more than is// necessary, but there is not much overhead in storing nonces.global $Auth_OpenID_SKEW;$Auth_OpenID_SKEW = 60 * 60 * 5;define('Auth_OpenID_Nonce_REGEX',       '/(\d{4})-(\d\d)-(\d\d)T(\d\d):(\d\d):(\d\d)Z(.*)/');define('Auth_OpenID_Nonce_TIME_FMT',       '%Y-%m-%dT%H:%M:%SZ');function Auth_OpenID_splitNonce($nonce_string){    // Extract a timestamp from the given nonce string    $result = preg_match(Auth_OpenID_Nonce_REGEX, $nonce_string, $matches);    if ($result != 1 || count($matches) != 8) {        return null;    }    list($unused,         $tm_year,         $tm_mon,         $tm_mday,         $tm_hour,         $tm_min,         $tm_sec,         $uniquifier) = $matches;    $timestamp =        @gmmktime($tm_hour, $tm_min, $tm_sec, $tm_mon, $tm_mday, $tm_year);    if ($timestamp === false || $timestamp < 0) {        return null;    }    return array($timestamp, $uniquifier);}function Auth_OpenID_checkTimestamp($nonce_string,                                    $allowed_skew = null,                                    $now = null){    // Is the timestamp that is part of the specified nonce string    // within the allowed clock-skew of the current time?    global $Auth_OpenID_SKEW;    if ($allowed_skew === null) {        $allowed_skew = $Auth_OpenID_SKEW;    }    $parts = Auth_OpenID_splitNonce($nonce_string);    if ($parts == null) {        return false;    }    if ($now === null) {        $now = gmmktime();    }    $stamp = $parts[0];    // Time after which we should not use the nonce    $past = $now - $allowed_skew;    // Time that is too far in the future for us to allow    $future = $now + $allowed_skew;    // the stamp is not too far in the future and is not too far    // in the past    return (($past <= $stamp) && ($stamp <= $future));}function Auth_OpenID_mkNonce($when = null){    // Generate a nonce with the current timestamp    $salt = Auth_OpenID_CryptUtil::randomString(        6, Auth_OpenID_Nonce_CHRS);    if ($when === null) {        // It's safe to call mktime() with no arguments; it returns a        // GMT unix timestamp on PHP 4 and PHP 5.  gmmktime() with no        // args returns a local unix timestamp on PHP 4, so don't use        // that.        $when = mktime();    }    $time_str = gmstrftime(Auth_OpenID_Nonce_TIME_FMT, $when);    return $time_str . $salt;}?>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -