/** * 设置cookie * @method set * @param [string] $name [cookie名称] * @param [mixed] $value [cookie值] * @param [string] $path [存取路径] * @param [int] $expire 有效时间 * @author NewFuture */ public static function set($name, $value, $path = '', $expire = null) { if ($value = Encrypt::aesEncode(json_encode($value), self::config('key'), true)) { $path = $path ?: self::config('path'); $expire = $expire ? $_SERVER['REQUEST_TIME'] + $expire : null; return setcookie($name, $value, $expire, $path, self::config('domain'), self::config('secure'), self::config('httponly')); } }
/** * 生成token * @method token * @param [type] $user [id或者包括用户id,number,password(加密后的),$sch_id的数组] * @return [type] [description] * @author NewFuture */ public static function token($user) { if (!$user) { return false; } elseif (is_numeric($user) && ($data = UserModel::field('id,number,password,sch_id')->find($user)->get())) { $token = self::createBaseToken($data); } elseif (isset($user['id']) && ($data['id'] = $user['id']) && isset($user['number']) && ($data['number'] = $user['number']) && isset($user['password']) && ($data['password'] = $user['password']) && isset($user['sch_id']) && ($data['sch_id'] = $user['sch_id'])) { $token = self::createBaseToken($data); } else { return false; } $token = $data['id'] . ':' . $token . ':' . $_SERVER['REQUEST_TIME']; return Encrypt::aesEncode($token, Cookie::key(), true); }
/** * Cookie数据加密编码 * @method encode * @param [type] $data [description] * @return [type] [description] * @author NewFuture */ private static function encode($data) { return Encrypt::aesEncode(json_encode($data), self::config('key'), true); }