该系统为使用PHP开发的基于web的Subversion(SVN)服务器端管理工具。支持功能:SVN仓库管理、SVN用户管理、SVN分组管理、目录授权、目录浏览、Hooks管理、在线dump备份、在线备份恢复、SVN用户禁用、服务器状态管理、日志管理、消息通知、更新检测...
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

50 lines
1.1 KiB

<?php
//declare(strict_types=1);
//生成token
function FunCreateToken($userRoleId, $userName)
{
$nowTime = time();
$startTime = $nowTime;
$endTime = $startTime + 86400;
$part1 = $userRoleId . '.' . $userName . '.' . $startTime . '.' . $endTime;
$part2 = hash_hmac('md5', $part1, SIGNATURE);
return $part1 . '.' . $part2;
}
//校验token
function FunCheckToken($token)
{
//判断是否为空
if (!isset($token) || empty($token)) {
FunMessageExit(401, 0, '非法请求');
}
//校验token格式
if (substr_count($token, '.') != 4) {
FunMessageExit(401, 0, '非法请求');
}
$arr = explode('.', $token);
//校验token格式
foreach ($arr as $value) {
if (trim($value) == '') {
FunMessageExit(401, 0, '非法请求');
}
}
//检验token内容
$part1 = hash_hmac('md5', $arr[0] . '.' . $arr[1] . '.' . $arr[2] . '.' . $arr[3], SIGNATURE);
$part2 = $arr[4];
if ($part1 != $part2) {
FunMessageExit(401, 0, '非法请求');
}
//校验是否过期
if (time() > $arr[3]) {
FunMessageExit(401, 0, '登录过期');
}
}