PHP生成随机密码

使用PHP生成16位随机密码,要求必需同时包含大写字母、小写字母、数字、特殊符号,且第一位必需大写

<?php
function generatePassword() {
    // 定义字符集
    $uppercase = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';
    $lowercase = 'abcdefghijklmnopqrstuvwxyz';
    $numbers = '0123456789';
    $specialChars = '!@#$%^&*()_+-=[]{}|;:,.<>?';

    // 确保每种字符至少出现一次
    $password = $uppercase[random_int(0, strlen($uppercase) - 1)]; // 第一位是大写字母
    $password .= $lowercase[random_int(0, strlen($lowercase) - 1)]; // 第二位是小写字母
    $password .= $numbers[random_int(0, strlen($numbers) - 1)]; // 第三位是数字
    $password .= $specialChars[random_int(0, strlen($specialChars) - 1)]; // 第四位是特殊符号

    // 剩余的12位随机字符
    $allChars = $uppercase . $lowercase . $numbers . $specialChars;
    for ($i = 4; $i < 16; $i++) {
        $password .= $allChars[random_int(0, strlen($allChars) - 1)];
    }

    // 将密码转换为数组,方便操作
    $passwordArray = str_split($password);

    // 打乱除第一位之外的字符
    $shuffledPart = array_slice($passwordArray, 1);
    shuffle($shuffledPart);

    // 重新组合密码,确保第一位是大写字母
    $password = $passwordArray[0] . implode('', $shuffledPart);

    return $password;
}

// 生成并输出密码
echo generatePassword();
?>

SeaCMS静态模式跳转页码功能

版本:V13.2
静态模式: 目录2:/{dir}/{page}id

编辑/js/function.js文件第171行,找到

goUrl=(url.split('_').length<3)?regexpSplice(url,/(\/\/\S+\d+?)(\.html|\.htm|\.shtml|\.shtm|\.asp|\.php)/,str):regexpSplice(url,/(\/\/\S+\d+?)_\d+(\.html|\.htm|\.shtml|\.shtm|\.asp)/,str);

修改为

goUrl=(url.split('_').length<2)?regexpSplice(url,/(\/\/\S+\d+?)(\.html|\.htm|\.shtml|\.shtm|\.asp|\.php)/,str):regexpSplice(url,/(\/\/\S+\d+?)_\d+(\.html|\.htm|\.shtml|\.shtm|\.asp)/,str);

- 阅读剩余部分 -

新版MacCMS后台模板改回旧版

版本:2025.1000.4049
新版后台模板配色不太舒服,换回旧版记录:
编辑/application/extra/maccms.php文件第42行,将:

'new_version' => '1',

修改为

'new_version' => '0',

然后登陆后台-清空缓存

MacCMS后台资源库采集时间调整

默认采集当天是采集过去24小时内的内容,由于每次采集时间不统一,会出现漏采的情况,我们把这个时间调整为过去48小时内。
编辑/application/admin/view/collect/index.html文件第54行,找到

<a class="layui-badge-rim" href="{:url('api')}?{:http_build_query(['ac'=>'cj','cjflag'=>md5($vo.collect_url),'cjurl'=>$vo.collect_url,'h'=>'24','t'=>'','ids'=>'','wd'=>'','type'=>$vo.collect_type,'mid'=>$vo.collect_mid,'opt'=>$vo.collect_opt,'sync_pic_opt'=>$vo.collect_sync_pic_opt,'filter'=>$vo.collect_filter,'filter_from'=>$vo.collect_filter_from,'filter_year'=>$vo.collect_filter_year,'param'=>base64_encode($vo.collect_param)])}" title="采集当天">采集当天</a>

修改为

<a class="layui-badge-rim" href="{:url('api')}?{:http_build_query(['ac'=>'cj','cjflag'=>md5($vo.collect_url),'cjurl'=>$vo.collect_url,'h'=>'48','t'=>'','ids'=>'','wd'=>'','type'=>$vo.collect_type,'mid'=>$vo.collect_mid,'opt'=>$vo.collect_opt,'sync_pic_opt'=>$vo.collect_sync_pic_opt,'filter'=>$vo.collect_filter,'filter_from'=>$vo.collect_filter_from,'filter_year'=>$vo.collect_filter_year,'param'=>base64_encode($vo.collect_param)])}" title="采集当天">采集当天</a>

- 阅读剩余部分 -

SeaCMS后台资源库采集时间调整

默认采集当天是采集过去24小时内的内容,由于每次采集时间不统一,会出现漏采的情况,我们把这个时间调整为过去48小时内。
编辑/admin/admin_reslib.php文件第320行,找到

elseif($action=="day")
{
    $page = $pg;
    if($rid=='seazmt3zz2cmszmt')
    {
        $weburl=$var_url."?s=plus-api-xml-cms-max-cid--h-24-p-{$page}";
    }
    else
    {
        $weburl=$var_url.(strpos($var_url,'?')!==false?"&":"?")."ac=videolist&rid=".$ressite."&t=0&h=24&pg=".$page;
    }
    
    intoDatabase($weburl,"day");
}

修改为

elseif($action=="day")
{
    $page = $pg;
    if($rid=='seazmt3zz2cmszmt')
    {
        $weburl=$var_url."?s=plus-api-xml-cms-max-cid--h-48-p-{$page}";
    }
    else
    {
        $weburl=$var_url.(strpos($var_url,'?')!==false?"&":"?")."ac=videolist&rid=".$ressite."&t=0&h=48&pg=".$page;
    }
    
    intoDatabase($weburl,"day");
}elseif($action=="week")

- 阅读剩余部分 -