go.php跳转页面仿windows更新分享-zibll美化交流分享社区-zibll子比主题-WordPress主题模板-zibll子比主题

go.php跳转页面仿windows更新分享

Snipaste_2022-10-19_10-05-16

Snipaste_2022-10-19_10-05-26

<?php
/*
 * @Author        : Qinver
 * @Url           : zibll.com
 * @Date          : 2020-09-29 13:18:36
 * @LastEditTime: 2022-04-28 21:25:40
 * @Email         : 770349780@qq.com
 * @Project       : Zibll子比主题
 * @Description   : 一款极其优雅的Wordpress主题
 * @Read me       : 感谢您使用子比主题,主题源码有详细的注释,支持二次开发。
 * @Remind        : 使用盗版主题会存在各种未知风险。支持正版,从我做起!
 */

if (
    strlen($_SERVER['REQUEST_URI']) > 384 ||
    strpos($_SERVER['REQUEST_URI'], "eval(") ||
    strpos($_SERVER['REQUEST_URI'], "base64")
) {
    @header("HTTP/1.1 414 Request-URI Too Long");
    @header("Status: 414 Request-URI Too Long");
    @header("Connection: Close");
    @exit;
}
//通过QUERY_STRING取得完整的传入数据,然后取得url=之后的所有值,兼容性更好

@session_start();
$t_url = !empty($_SESSION['GOLINK']) ? $_SESSION['GOLINK'] : preg_replace('/^url=(.*)$/i', '$1', $_SERVER["QUERY_STRING"]);
//数据处理
if (!empty($t_url)) {
    //判断取值是否加密
    if ($t_url == base64_encode(base64_decode($t_url))) {
        $t_url = base64_decode($t_url);
    }
    //防止xss
    $t_url = htmlspecialchars($t_url);

    //对取值进行网址校验和判断
    preg_match('/^(http|https|thunder|qqdl|ed2k|Flashget|qbrowser):\/\//i', $t_url, $matches);
    if ($matches) {
        $url   = $t_url;
        $title = '页面加载中,请稍候...';
    } else {
        preg_match('/\./i', $t_url, $matche);
        if ($matche) {
            $url   = 'http://' . $t_url;
            $title = '页面加载中,请稍候...';
        } else {
            $url   = 'http://' . $_SERVER['HTTP_HOST'];
            $title = '参数错误,正在返回首页...';
        }
    }
} else {
    $title = '参数缺失,正在返回首页...';
    $url   = 'http://' . $_SERVER['HTTP_HOST'];
}

$url = str_replace('&amp;', '&', $url);
?>
<html>

<head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <meta name="robots" content="noindex, nofollow" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=0, minimum-scale=1.0, maximum-scale=1.0">
    <noscript>
        <meta http-equiv="refresh" content="1;url='<?php echo $url; ?>';">
    </noscript>
    <script>
        function link_jump() {
            //禁止其他网站使用我们的跳转页面
            var MyHOST = new RegExp("<?php echo $_SERVER['HTTP_HOST']; ?>");
            if (!MyHOST.test(document.referrer)) {
                location.href = "http://" + MyHOST;
            }
            location.href = "<?php echo $url; ?>";
        }
        //延时1S跳转,可自行修改延时时间
        setTimeout(link_jump, 1000);
        //延时50S关闭跳转页面,用于文件下载后不会关闭跳转页的问题
        setTimeout(function() {
            window.opener = null;
            window.close();
        }, 50000);
    </script>
    <title><?php echo $title; ?></title>
<style>
@keyframes bgcolor {
    0%   { background-color: #006699; }
    50%  { background-color: #002233; }
    100% { background-color: #006699; }
}
html {
    height: 100%;
}
body {
    -webkit-font-smoothing: antialiased;
    animation-delay: 5s;
    animation-duration: 20s;
    animation-iteration-count: infinite;
    animation-name: bgcolor;
    background-color: #006699;
    color: white;
    font-family: "Segoe UI", "Microsoft Yahei UI";
    height: 100%;
    margin: 0px;
}
@font-face {
    font-family: "Windows 8 Boot";
    src: url("./Win8Boot.svg"), url("./Win8Boot.woff");
}
.content {
    position: absolute;
    text-align: center;
    top: 50%;
    transform: translateY(-50%);
    width: 100%;
}
#animation {
    font-family: "Windows 8 Boot";
    font-size: 32pt;
}
#description {
    margin-top: 18pt;
    font-size: 18pt;
}
#footer {
    bottom: 42pt;
    font-size: 14pt;
    position: absolute;
    text-align: center;
    width: 100%;
}
#description:focus, #footer:focus {
    outline: none;
}
</style>
</head>
<body>
<div class="content">
<div id="animation"></div>
<div id="description">正在为您跳转到对应网页<br>即将抵达</div>
</div>
<div id="footer">
    Copyright © 2022 · 干货竹
</div>
<script language="javascript">
(() => {
    const firstCode = 0xe052
    const lastCode = 0xe0cc
    const frameRate = 30
    const startTime = new Date()
    const descriptions = [
        "10秒过去了,好像还没跳转,这是目的网站的问题,请检查您的网络,或者科学上网。\n" +
        "若链接用来下载文件,则本网页将在40秒内自动关闭"
    ]
    const updateText = () => {
        document.getElementById("description").innerText = descriptions[Math.floor(Math.random() * descriptions.length)]
    }
    const updateFrame = () => {
        const getCode = () => (new Date()-startTime)*frameRate/1000%(lastCode-firstCode)+firstCode
        document.getElementById("animation").innerText = String.fromCharCode(getCode())
        requestAnimationFrame(updateFrame)
    }
    updateFrame()
    setInterval(updateText, 10000)
})()
</script>


</body>

</html>

美化代码摘自wallpaper engine里的仿windows更新壁纸

字体和加载图标下载:https://bamboomc.lanzout.com/ifIuC0e58v1a(放到网站根目录,或者自己改位置)

请登录后发表评论