子比主题 – 外链Go页面样式代码(共十四款)心思维50天前更新关注私信0474147 我这里记录了十二款款子比主题go页面样式的代码样式,对于用户比较挑,所以我多记录几个也正好我自己也备用,我看有点挤,等我后面有好的再更新go页面样式,喜欢的自行部署一下吧!——————转载于腾飞博客 喜欢哪一款直接替换:/wp-content/themes/zibll/go.php这个文件的所有代码即可!本站目前使用的是第一款。 款式1款式2款式3款式4款式5款式6款式7款式8款式9款式10款式11款式12款式13款式14 此处内容已隐藏,请评论后刷新页面查看. <?php /* * @Author : Qinver * @Url : zibll.com * @Date : 2021-07-10 * @LastEditTime: 2021-07-10 * @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']; } ?> <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, 1500); //延时50S关闭跳转页面,用于文件下载后不会关闭跳转页的问题 setTimeout(function() { window.opener = null; window.close(); }, 50000); </script> </div> <title><?php echo $title;?></title> <style>html, body { width: 100%; height: 100%; margin: 0; background: #270F34; overflow: hidden; display: flex; align-items: center; justify-content: center } css-doodle { --color: @p(#51eaea, #fffde1, #ff9d76, #FB3569); --rule: ( :doodle { @grid: 30x1 / 18vmin; --deg: @p(-180deg, 180deg); } :container { perspective: 30vmin; } :after, :before { content: ''; background: var(--color); @place-cell: @r(100%) @r(100%); @size: @r(6px); @shape: heart; } @place-cell: center; @size: 100%; box-shadow: @m(2, (0 0 50px var(--color))); background: @m(100, (radial-gradient(var(--color) 50%, transparent 0) @r(-20%, 120%) @r(-20%, 100%) / 1px 1px no-repeat)); will-change: transform, opacity; animation: scale-up 12s linear infinite; animation-delay: calc(-12s / @size() * @i()); @keyframes scale-up { 0%, 95.01%, 100% { transform: translateZ(0) rotate(0); opacity: 0; } 10% { opacity: 1; } 95% { transform: translateZ(35vmin) rotateZ(@var(--deg)); } } ) }</style></head> <body> <css-doodle use="var(--rule)"></css-doodle> <script src='https://cdn.ly522.com/js/go-min.js'></script> </body> </html> 此处内容已隐藏,请评论后刷新页面查看. 此处内容已隐藏,请评论后刷新页面查看. 此处内容已隐藏,请评论后刷新页面查看. 此处内容已隐藏,请评论后刷新页面查看. 此处内容已隐藏,请评论后刷新页面查看. <?php /* * @Author : Denver 墨星科技 * @Url : moxingbk.com * @Date : 2024-08-18 22:57:21 * @Email : 3125591974@qq.com * @Project : 墨星科技GO跳转页 */ 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); $wiiui_title = get_bloginfo('name'); $title = $wiiui_title . ' - 安全中心'; 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('&', '&', $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"> <?php zib_head_favicon();?> <title> <?php echo $title; ?> </title> <style> body { background-image: linear-gradient(120deg, #e0c3fc 0%, #8ec5fc 100%); } .moxing-go-modal { display: block; position: fixed; z-index: 1000; left: 50%; top: 50%; transform: translate(-50%, -50%); width: 50%; height: 50%; background: white; box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); padding: 20px; box-sizing: border-box; border-radius: 20px; text-align: center; } .moxing-go-link-div { border: 2px solid white; box-shadow: 0 0 10px rgba(0, 0, 0, 0.5); height: 20px; padding: 10px; display: flex; align-items: center; border-radius: 20px; margin: auto; } .moxing-go-link-div svg { width: 30px; height: 30px; margin-right: 10px; } .moxing-go-span { white-space: nowrap; text-overflow: ellipsis; overflow: hidden; } .button-container { display: flex; justify-content: center; gap: 20px; margin-top: 25px; } .animated-button { position: relative; display: flex; align-items: center; gap: 4px; border: 4px solid; border-color: transparent; font-size: 16px; background-color: inherit; border-radius: 100px; font-weight: 600; color: black; box-shadow: 0 0 0 2px rgb(224, 195, 252); cursor: pointer; overflow: hidden; transition: all 0.6s cubic-bezier(0.23, 1, 0.32, 1); } .animated-button svg { position: absolute; width: 24px; fill: rgb(147, 197, 252); z-index: 9; transition: all 0.8s cubic-bezier(0.23, 1, 0.32, 1); } .animated-button .arr-1 { right: 16px; } .animated-button .arr-2 { left: -25%; } .animated-button .circle { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 20px; height: 20px; background-color: DeepSkyBlue; border-radius: 50%; opacity: 0; transition: all 0.8s cubic-bezier(0.23, 1, 0.32, 1); } .animated-button .text { position: relative; z-index: 1; transform: translateX(-1px); transition: all 0.8s cubic-bezier(0.23, 1, 0.32, 1); } .animated-button:hover { box-shadow: 0 0 0 12px transparent; color: #212121; border-radius: 12px; } .animated-button:hover .arr-1 { right: -25%; } .animated-button:hover .arr-2 { left: 16px; } .animated-button:hover .text { transform: translateX(12px); } .animated-button:hover svg { fill: #212121; } .animated-button:active { scale: 0.95; box-shadow: 0 0 0 4px rgb(147, 197, 252); } .animated-button:hover .circle { width: 220px; height: 220px; opacity: 1; } .information { font-size: 20px; font-weight: 600; } @media (max-width: 767px) { .moxing-go-modal { padding: 20px; width: 90%; height: 50%; } .moxing-go-link-div { width: 85%; } .button-container { gap: 20px; margin-top: 20px; } .animated-button { padding: 10px 30px; font-size: 16px; } } @media (min-width: 768px) and (max-width: 1024px) { .moxing-go-modal { padding: 20px; width: 80%; height: 50%; } .moxing-go-link-div { width: 85%; } .button-container { gap: 150px; margin-top: 20px; } .animated-button { padding: 15px 50px; font-size: 16px; } } @media (min-width: 600px) and (max-width: 1024px) and (orientation: portrait) { .moxing-go-modal { padding: 20px; width: 70%; height: 30%; } .moxing-go-link-div { width: 85%; } .button-container { gap: 50px; margin-top: 20px; } .animated-button { padding: 15px 50px; font-size: 16px; } } @media (min-width: 1024px) { .moxing-go-link-div { width: 85%; } .button-container { gap: 20px; margin-top: 25px; } .animated-button { padding: 15px 50px; font-size: 16px; } } </style> </head> <body> <div class="moxing-go-modal"> <svg t="1723997117690" class="icon" viewBox="0 0 1026 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="2781" width="64" height="64"> <path d="M1004.657 801.716 602.263 91.599c-49.213-86.817-129.646-86.817-178.866 0L21.004 801.716c-49.207 86.906-8.949 157.798 89.388 157.798l804.877 0C1013.606 959.514 1053.825 888.622 1004.657 801.716zM544.635 832.216l-63.649 0 0-63.649 63.649 0L544.635 832.216zM544.635 641.27l-63.649 0L480.986 259.377l63.649 0L544.635 641.27z" p-id="2782" fill="#1296db"></path> </svg> <p class="information">即将离开本站,请保护好个人信息</p> <div class="moxing-go-link-div"> <svg t="1724045369726" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="2611" width="64" height="64"> <path d="M607.934444 417.856853c-6.179746-6.1777-12.766768-11.746532-19.554358-16.910135l-0.01228 0.011256c-6.986111-6.719028-16.47216-10.857279-26.930349-10.857279-21.464871 0-38.864146 17.400299-38.864146 38.864146 0 9.497305 3.411703 18.196431 9.071609 24.947182l-0.001023 0c0.001023 0.001023 0.00307 0.00307 0.005117 0.004093 2.718925 3.242857 5.953595 6.03853 9.585309 8.251941 3.664459 3.021823 7.261381 5.997598 10.624988 9.361205l3.203972 3.204995c40.279379 40.229237 28.254507 109.539812-12.024871 149.820214L371.157763 796.383956c-40.278355 40.229237-105.761766 40.229237-146.042167 0l-3.229554-3.231601c-40.281425-40.278355-40.281425-105.809861 0-145.991002l75.93546-75.909877c9.742898-7.733125 15.997346-19.668968 15.997346-33.072233 0-23.312962-18.898419-42.211381-42.211381-42.211381-8.797363 0-16.963347 2.693342-23.725354 7.297197-0.021489-0.045025-0.044002-0.088004-0.066515-0.134053l-0.809435 0.757247c-2.989077 2.148943-5.691629 4.669346-8.025791 7.510044l-78.913281 73.841775c-74.178443 74.229608-74.178443 195.632609 0 269.758863l3.203972 3.202948c74.178443 74.127278 195.529255 74.127278 269.707698 0l171.829484-171.880649c74.076112-74.17435 80.357166-191.184297 6.282077-265.311575L607.934444 417.856853z" fill="#5D5D5D" p-id="2612"></path> <path d="M855.61957 165.804257l-3.203972-3.203972c-74.17742-74.178443-195.528232-74.178443-269.706675 0L410.87944 334.479911c-74.178443 74.178443-78.263481 181.296089-4.085038 255.522628l3.152806 3.104711c3.368724 3.367701 6.865361 6.54302 10.434653 9.588379 2.583848 2.885723 5.618974 5.355985 8.992815 7.309476 0.025583 0.020466 0.052189 0.041956 0.077771 0.062422l0.011256-0.010233c5.377474 3.092431 11.608386 4.870938 18.257829 4.870938 20.263509 0 36.68962-16.428158 36.68962-36.68962 0-5.719258-1.309832-11.132548-3.645017-15.95846l0 0c-4.850471-10.891048-13.930267-17.521049-20.210297-23.802102l-3.15383-3.102664c-40.278355-40.278355-24.982998-98.79612 15.295358-139.074476l171.930791-171.830507c40.179095-40.280402 105.685018-40.280402 145.965419 0l3.206018 3.152806c40.279379 40.281425 40.279379 105.838513 0 146.06775l-75.686796 75.737962c-10.296507 7.628748-16.97358 19.865443-16.97358 33.662681 0 23.12365 18.745946 41.87062 41.87062 41.87062 8.048303 0 15.563464-2.275833 21.944801-6.211469 0.048095 0.081864 0.093121 0.157589 0.141216 0.240477l1.173732-1.083681c3.616364-2.421142 6.828522-5.393847 9.529027-8.792247l79.766718-73.603345C929.798013 361.334535 929.798013 239.981676 855.61957 165.804257z" fill="#5D5D5D" p-id="2613"></path> </svg> <span class="moxing-go-span"> <?php echo $url; ?> </span> </div> <div class="button-container"> <button class="animated-button" onclick="setTimeout(function() { location.replace('//<?php echo $_SERVER['HTTP_HOST']; ?>'); }, 1000)"> <svg viewBox="0 0 24 24" class="arr-2" xmlns="http://www.w3.org/2000/svg"> <path d="M16.1716 10.9999L10.8076 5.63589L12.2218 4.22168L20 11.9999L12.2218 19.778L10.8076 18.3638L16.1716 12.9999H4V10.9999H16.1716Z"> </path> </svg> <span class="text">返回首页</span> <span class="circle"></span> </button> <button class="animated-button" onclick="location.replace('<?php echo $url; ?>')"> <svg viewBox="0 0 24 24" class="arr-2" xmlns="http://www.w3.org/2000/svg"> <path d="M16.1716 10.9999L10.8076 5.63589L12.2218 4.22168L20 11.9999L12.2218 19.778L10.8076 18.3638L16.1716 12.9999H4V10.9999H16.1716Z"> </path> </svg> <span class="text" onclick="location.replace('<?php echo $url; ?>')">立即前往</span> <span class="circle"></span> </button> </div> </div> </body> </html> <?php /* * @Author : Denver 墨星科技 * @Url : moxingbk.com * @Date : 2024-11-24 15:57:21 * @Email : 3125591974@qq.com * @Project : 墨星科技GO跳转页 */ if ( strlen($_SERVER['REQUEST_URI']) > 384 || strpos($_SERVER['REQUEST_URI'], "||") !== false || strpos($_SERVER['REQUEST_URI'], "base64") !== false ) { @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); $wiiui_title = get_bloginfo('name'); $title = $wiiui_title . ' - 安全中心'; if ($matches) { $url = $t_url; } else { preg_match('/\\./i', $t_url, $matche); if ($matche) { $url = 'http://' . $t_url; } else { $url = 'http://' . $_SERVER['HTTP_HOST']; $title = '参数错误,正在返回首页...'; } } } else { $title = '参数缺失,正在返回首页...'; $url = 'http://' . $_SERVER['HTTP_HOST']; } $url = str_replace('&', '&', $url); ?> <!DOCTYPE html> <html lang="zh-CN"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title><?php echo $title; ?></title> </script> <style> * { margin: 0; padding: 0; } body { display: flex; justify-content: center; align-items: center; height: 100vh; background-image: url(https://img.alicdn.com/imgextra/i3/2210123621994/O1CN01Kegix31QbInL7Sq8i_!!2210123621994.jpg); background-size: cover; background-position: center; background-repeat: no-repeat; } .container { background-color: rgba(255, 255, 255, 0.9); border-radius: 8px; padding: 20px; width: 300px; text-align: center; } .logo { width: 260px; height: 80px; margin-bottom: 20px; } .status { font-size: 14px; color: #777; margin-top: 5px; } .buttons { margin-top: 20px; } .button { color: white; border: none; padding: 10px 20px; border-radius: 4px; cursor: pointer; margin: 5px; text-decoration: none; } .jb-pink{ background:linear-gradient(135deg, #ff5e7f 30%, #ff967e 100%); } .jb-cyan{ background:linear-gradient(140deg, #039ab3 10%, #58dbcf 90%); } .moxing_link { width: 95%; background-color: #e0e0e0; padding: 10px; border-radius: 25px; font-weight: bold; display: flex; /* 修改为flex布局 */ align-items: center; /* 垂直居中对齐 */ justify-content: flex-start; /* 水平起始对齐 */ } .moxing_link .text { white-space: nowrap; /* 防止文本换行 */ overflow: hidden; /* 隐藏超出部分 */ text-overflow: ellipsis; /* 使用省略号表示超出的文本 */ max-width: 100%; /* 设置最大宽度为100% */ } #icon-container { display: inline-block; vertical-align: middle; margin-right: 5px; } </style> </head> <body> <div class="container"> <img src="https://www.tfbkw.com/logo.png" alt="Logo" class="logo"> <p class="moxing_link"> <span id="icon-container"></span> <span class="text"><?php echo $url; ?></span> </p> <p id="link-status" class="status"></p> <div class="buttons"> <button onclick="location.replace('<?php echo $url; ?>')" class="button jb-pink" id="continue-button">继续前往</button> <button onclick="setTimeout(function() { location.replace('//<?php echo $_SERVER['HTTP_HOST']; ?>'); }, 1000)" class="button jb-cyan" id="home-button">回到主页</button> </div> </div> <script> // 初始化白名单数组 const whitelist = [ "zibll.com", "moxingbk.com", "baidu.com", "qq.com", "weixin.com" ]; // 获取链接并检测是否在白名单内 const linkStatus = document.getElementById('link-status'); const continueButton = document.getElementById('continue-button'); const iconContainer = document.getElementById('icon-container'); const targetLink = '<?php echo $url; ?>'; const parsedLink = new URL(targetLink); function isSubdomainSafe(url) { const hostname = parsedLink.hostname; const domainParts = hostname.split('.'); const topLevelDomain = domainParts.slice(-2).join('.'); return whitelist.includes(topLevelDomain); } if (isSubdomainSafe(targetLink)) { linkStatus.textContent = '该链接安全,请点击继续前往'; continueButton.style.display = 'inline-block'; iconContainer.innerHTML = '<svg t="1732432429874" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="2886" width="30" height="30"><path d="M651.636 325.818a139.636 139.636 0 1 0-279.272 0v93.091h279.272v-93.09z m69.819 93.091A93.09 93.09 0 0 1 814.545 512v279.273a93.09 93.09 0 0 1-93.09 93.09h-418.91a93.09 93.09 0 0 1-93.09-93.09V512a93.09 93.09 0 0 1 93.09-93.09h23.273v-93.092a186.182 186.182 0 1 1 372.364 0v93.091h23.273zM768 791.273V512a46.545 46.545 0 0 0-46.545-46.545h-418.91A46.545 46.545 0 0 0 256 512v279.273a46.545 46.545 0 0 0 46.545 46.545h418.91A46.545 46.545 0 0 0 768 791.273z" fill="#21A3DD" p-id="2887"></path><path d="M488.727 645.353v76.102a23.273 23.273 0 0 0 46.546 0v-76.102a46.545 46.545 0 1 0-46.546 0z" fill="#21A3DD" p-id="2888"></path></svg>'; } else { linkStatus.textContent = '该链接安全性未知,请保护好个人信息'; continueButton.style.display = 'inline-block'; iconContainer.innerHTML = '<svg t="1732433495577" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="6123" width="20" height="20"><path d="M512 93.090909a232.727273 232.727273 0 0 1 232.727273 232.727273h93.090909A325.818182 325.818182 0 0 0 186.181818 325.818182v93.090909H93.090909v605.090909h837.818182V418.909091H279.272727V325.818182a232.727273 232.727273 0 0 1 232.727273-232.727273z m325.818182 837.818182H186.181818v-418.909091h651.636364z" fill="#757575" p-id="6124"></path><path d="M465.454545 651.636364h93.09091v139.636363H465.454545z" fill="#757575" p-id="6125"></path></svg>'; } </script> </body> </html> 在代码的108行修改一下LOGO <?php 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']; } ?> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <meta name="robots" content="noindex, nofollow" /> <title><?php echo $title; ?></title> <meta name="keywords" content=""> <meta name="description" content=""> <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no, viewport-fit=cover" /> <meta http-equiv="Cache-Control" content="no-transform" /> <meta http-equiv="Cache-Control" content="no-siteapp" /> <meta name="renderer" content="webkit"/> <meta name="force-rendering" content="webkit"/> <meta http-equiv="X-UA-Compatible" content="IE=Edge,chrome=1"/> <link rel="shortcut icon" type="image/ico" href="/favicon.ico"> <script> function link_jump() { //禁止其他网站使用我们的跳转页面 var MyHOST = new RegExp("<?php echo $_SERVER['HTTP_HOST']; ?>"); if (!MyHOST.test(document.referrer)) { location.href="https://" + MyHOST; } location.href="<?php echo $url; ?>"; } //延时 1S 跳转,可自行修改延时时间 //setTimeout(link_jump, 1500); //延时 50S 关闭跳转页面,用于文件下载后不会关闭跳转页的问题 setTimeout(function(){window.opener=null;window.close();}, 50000); </script> <style> *,:after,:before{box-sizing:border-box}body.reader-black-font,body.reader-black-font .history-mode .view-area,body.reader-black-font .history-mode .view-area pre,body.reader-black-font .main .kalamu-area,body.reader-black-font .main .markdown .text,body.reader-black-font input,body.reader-black-font select,body.reader-black-font textarea{font-family:-apple-system,SF UI Text,Arial,PingFang SC,Hiragino Sans GB,Microsoft YaHei,WenQuanYi Micro Hei,sans-serif}body{background:#f6f7f8}.ext-link__wrapper{position:absolute;width:620px;padding:40px 0;border-radius:6px;text-align:center;top:118px;left:50%;-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%);background-color:#fff;box-shadow:0 1px 3px rgba(27,95,160,.1);overflow:hidden}.title{font-size:22px;color:#2f2f2f}.sub-title{font-size:16px;color:#888;margin-top:8px}.link-bd{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;width:460px;margin:12px auto 0;padding:10px;border-radius:4px;background:#ebf6ff;border:1px solid #dceaf5;zoom:1}.link-bd:after,.link-bd:before{content:" ";display:table}.link-bd .link-bd__icon{-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;display:flex;align-items:center;width:40px;justify-content:center;height:40px;line-height:40px;font-size:20px;background:#bcc6d8;text-align:center;border-radius:2px}.link-btn{text-align:center;font-size:0;margin-top:24px}.link-bd .link-bd__text{font-size:14px;color:#006cbe;margin-left:10px;overflow:hidden;-o-text-overflow:ellipsis;text-overflow:ellipsis;white-space:nowrap}.link-btn__text{display:inline-block;width:144px;height:44px;line-height:43px;border-radius:22px;font-size:14px;color:#006cbe;border:1px solid #006cbe;cursor:pointer;text-decoration:none}.link-btn__text:hover{color:#fff;background:#006cbe} .alert-footer { margin: 0 auto; height: 90px; width: 130px; padding-top: 30px; } .alert-footer-icon { float: left; margin-top: 10px; margin-right: 6px; } .alert-footer-text { float: left; border-left: 2px solid #EEE; padding: 3px 0 0 5px; height: 60px; color: #0B85CC; font-size: 12px; text-align: left; } .alert-footer-text p { color: #7A7A7A; font-size: 22px; line-height: 18px; margin-top: 0px; } </style> </head> <body> <div class="ext-link__wrapper"> <img src="https://www.tfbkw.com/logo.png" width="200" style="margin-bottom: 30px;"><!--可修改成自己的 LOGO--> <div class="title">即将跳转到外部网站</div> <div class="sub-title">跳转网站安全性未知,是否继续</div> <div class="link-bd"> <div class="link-bd__icon"><svg t="1585116627498" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="2855" width="32" height="32"> <path d="M580.906667 682.496a8.96 8.96 0 0 0-12.501334 0l-129.109333 129.152c-59.818667 59.818667-160.682667 66.133333-226.688 0-66.133333-66.133333-59.733333-166.912 0-226.688l129.109333-129.152a8.917333 8.917333 0 0 0 0-12.544L297.514667 399.061333a8.917333 8.917333 0 0 0-12.544 0l-129.152 129.066667a240.256 240.256 0 0 0 0 340.053333 240.213333 240.213333 0 0 0 340.053333 0l129.066667-129.109333a8.917333 8.917333 0 0 0 0-12.586667l-43.989334-43.989333h-0.042666zM868.224 155.733333a240.554667 240.554667 0 0 1 0 340.138667l-129.109333 129.152a8.917333 8.917333 0 0 1-12.544 0l-44.202667-44.202667a8.96 8.96 0 0 1 0-12.629333l129.109333-129.066667c59.818667-59.818667 66.133333-160.597333 0-226.730666-66.005333-66.133333-166.869333-59.818667-226.688 0l-129.066666 129.194666a8.96 8.96 0 0 1-12.544 0L399.061333 297.514667a8.96 8.96 0 0 1 0-12.544l129.237334-129.152a240.213333 240.213333 0 0 1 339.925333 0v-0.042667z m-247.210667 201.045334l43.946667 43.989333a8.917333 8.917333 0 0 1 0 12.544l-251.562667 251.562667a8.917333 8.917333 0 0 1-12.544 0l-44.032-43.946667a8.917333 8.917333 0 0 1 0-12.544l251.690667-251.605333a8.96 8.96 0 0 1 12.544 0h-0.042667z" fill="#006CBE" fill-opacity=".87" p-id="2856"></path> </svg></div> <div class="link-bd__text"><?php echo $url; ?></div> </div> <div class="link-btn"> <a href="javascript:void(0);" onclick="javascript:window.location.href='<?php echo $url; ?>'" class="link-btn__text">继续前往</a> <a href="<?php echo $_SERVER['HTTP_HOST']; ?>" class="link-btn__text" style="margin-left:100px;">回到主页</a> </div> <div class="alert-footer"> <svg width="46px" height="42px" class="alert-footer-icon"> <circle fill-rule="evenodd" clip-rule="evenodd" fill="#7B7B7B" stroke="#DEDFE0" stroke-width="2" stroke-miterlimit="10" cx="21.917" cy="21.25" r="17"/> <path fill="#FFF" d="M22.907,27.83h-1.98l0.3-2.92c-0.37-0.22-0.61-0.63-0.61-1.1c0-0.71,0.58-1.29,1.3-1.29s1.3,0.58,1.3,1.29 c0,0.47-0.24,0.88-0.61,1.1L22.907,27.83z M18.327,17.51c0-1.98,1.61-3.59,3.59-3.59s3.59,1.61,3.59,3.59v2.59h-7.18V17.51z M27.687,20.1v-2.59c0-3.18-2.59-5.76-5.77-5.76s-5.76,2.58-5.76,5.76v2.59h-1.24v10.65h14V20.1H27.687z"/> <circle fill-rule="evenodd" clip-rule="evenodd" fill="#FEFEFE" cx="35.417" cy="10.75" r="6.5"/> <polygon fill="#7B7B7B" stroke="#7B7B7B" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" points="35.417,12.16 32.797,9.03 31.917,10.07 35.417,14.25 42.917,5.29 42.037,4.25 "/> </svg> <div class="alert-footer-text"><p>secure</p>安全加密 </div> </div> </div> </body> </html> 此处内容已隐藏,请评论后刷新页面查看. <?php session_start(); // 生成CSRF令牌 if (empty($_SESSION['csrf_token'])) { $_SESSION['csrf_token'] = bin2hex(random_bytes(32)); } // 检查请求URI是否异常 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; } // 定义一个用于清理URL的函数 function sanitizeUrl(string $url): string { $url = htmlspecialchars($url, ENT_QUOTES, "UTF-8"); // 修正此处,将双引号替换为空字符串 $url = str_replace(["'", '"'], ["'", ''], $url); $url = str_replace(["\r", "\n", "\t", "\x0B", "\x0C", "\x0D"], ["", "", " ", " ", " ", ""], $url); return $url; } // 获取目标URL $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); } $t_url = sanitizeUrl($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 = $_SERVER['REQUEST_SCHEME'] . '://' . $_SERVER['HTTP_HOST']; } // 验证referer,防止CSRF攻击 $host = zib_get_url_top_host($_SERVER['HTTP_HOST']); $referer = $_SERVER['HTTP_REFERER'] ?? ''; if (!empty($referer) && !preg_match('/' . preg_quote($host, '/') . '/i', $referer)) { $url = $_SERVER['REQUEST_SCHEME'] . '://' . $_SERVER['HTTP_HOST']; $title = '非法请求,正在返回首页...'; } $url = str_replace('&', '&', $url); // 设置背景图片的URL $background_image_url = 'https://img.alicdn.com/imgextra/i1/2210123621994/O1CN01bS0YZU1QbIlHTibZn_!!2210123621994.jpg'; ?> <!DOCTYPE html> <html lang="zh-CN"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>安全跳转</title> <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css" rel="stylesheet"> <link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0-beta3/css/all.min.css" rel="stylesheet"> <style> @import url('https://fonts.googleapis.com/css2?family=Raleway:wght@400;700&display=swap');*{margin:0;padding:0;box-sizing:border-box}body{display:flex;justify-content:center;align-items:center;height:100vh;background:linear-gradient(to right,#d7d2cc 0%,#304352 100%);background:linear-gradient(to bottom,#323232 0%,#3F3F3F 40%,#1C1C1C 150%),linear-gradient(to top,rgba(255,255,255,0.40) 0%,rgba(0,0,0,0.25) 200%);background-blend-mode:multiply;font-family:'Raleway',sans-serif;font-weight:bold;color:#ffffff;overflow:hidden}#particles-js{position:absolute;width:100%;height:100%;z-index:-1}.neon-button,.neon-link{position:relative;display:inline-block;padding:10px 20px;color:#03e9f4;text-decoration:none;text-transform:uppercase;transition:0.5s;letter-spacing:4px;overflow:hidden;margin:10px 5px;background:rgba(255,255,255,0.1);white-space:normal;word-break:break-all;overflow-wrap:anywhere;border-radius:5px;border:1px solid #03e9f4;font-size:0.8em;line-height:1.2;max-width:100%}.neon-link span{display:none}.neon-button:hover,.neon-link:hover{background:rgba(3,233,244,0.1);color:#03e9f4;box-shadow:0 0 8px #03e9f4,0 0 16px #03e9f4,0 0 24px #03e9f4,0 0 32px #03e9f4;-webkit-box-reflect:below 1px linear-gradient(transparent,#0005)}.neon-link:hover{background:rgba(255,255,255,0.1);color:#03e9f4;box-shadow:none}.neon-button span{position:absolute;display:block}.home-button span:nth-child(1),.visit-button span:nth-child(1){top:0;left:0;width:100%;height:2px;animation:animate1 1s linear infinite}.home-button span:nth-child(2),.visit-button span:nth-child(2){top:-100%;right:0;width:2px;height:100%;animation:animate2 1s linear infinite;animation-delay:0.25s}.home-button span:nth-child(3),.visit-button span:nth-child(3){bottom:0;right:0;width:100%;height:2px;animation:animate3 1s linear infinite;animation-delay:0.50s}.home-button span:nth-child(4),.visit-button span:nth-child(4){bottom:-100%;left:0;width:2px;height:100%;animation:animate4 1s linear infinite;animation-delay:0.75s}@keyframes animate1{0%{left:-100%}50%,100%{left:100%}}@keyframes animate2{0%{top:-100%}50%,100%{top:100%}}@keyframes animate3{0%{right:-100%}50%,100%{right:100%}}@keyframes animate4{0%{bottom:-100%}50%,100%{bottom:100%}}.home-button span:nth-child(1),.home-button span:nth-child(2),.home-button span:nth-child(3),.home-button span:nth-child(4){background:linear-gradient(90deg,transparent,#00ff00)}.visit-button span:nth-child(1),.visit-button span:nth-child(2),.visit-button span:nth-child(3),.visit-button span:nth-child(4){background:linear-gradient(90deg,transparent,#ff0000)}.button-effect{position:relative;min-width:100px;padding:8px 12px;border:0;border-radius:7px;box-shadow:inset 0 0 0 1px rgba(255,255,255,0.1);background:rgba(255,255,255,0.1);color:rgb(255,255,255,0.66);transition:all 1s cubic-bezier(0.15,0.83,0.66,1)}.button-effect::before{content:"";width:70%;height:1px;position:absolute;bottom:0;left:15%;background:rgb(255,255,255);background:linear-gradient( 90deg,rgba(255,255,255,0) 0%,rgba(255,255,255,1) 50%,rgba(255,255,255,0) 100% );opacity:0.2;transition:all 1s cubic-bezier(0.15,0.83,0.66,1)}.button-effect:hover{color:rgb(255,255,255,1);transform:scale(1.1) translateY(-3px)}.button-effect:hover::before{opacity:1}.glass-container{width:90%;max-width:700px;height:auto;color:white;display:flex;flex-direction:column;align-items:center;padding:30px;border-radius:10px;backdrop-filter:blur(0px);background-color:rgba(255,255,255,0.1);box-shadow:rgba(0,0,0,0.3) 2px 8px 8px;position:relative;overflow:hidden;animation:bounceInDown 1s both;text-align:center}@keyframes lightning-border{0%{border-image-slice:1}50%{border-image-slice:10}100%{border-image-slice:1}}.animated{animation-duration:1s;animation-fill-mode:both}@keyframes bounceInDown{from,60%,75%,90%,to{animation-timing-function:cubic-bezier(0.215,0.61,0.355,1)}0%{opacity:0;transform:translate3d(0,-3000px,0) scaleY(3)}60%{opacity:1;transform:translate3d(0,25px,0) scaleY(0.9)}75%{transform:translate3d(0,-10px,0) scaleY(0.95)}90%{transform:translate3d(0,5px,0) scaleY(0.985)}to{transform:translate3d(0,0,0)}}.message{padding:20px;background:linear-gradient(to right,#00c6ff,#0072ff);color:white;border-radius:15px;box-shadow:0 10px 20px rgba(0,0,0,0.1);font-weight:bold;margin-bottom:25px;font-size:1.2em;text-align:center}.flex-row{display:flex;align-items:center;justify-content:center;margin-bottom:20px;text-align:center;flex-wrap:wrap;overflow:hidden;white-space:normal;width:100%}.text{margin-right:10px;white-space:nowrap}.progress-bar-container{width:100%;background:#e0e0e0;border-radius:12px;overflow:hidden;margin-bottom:20px}.progress-bar{height:15px;background:linear-gradient(270deg,#ff4b1f,#1fddff);background-size:400% 400%;animation:gradientAnimation 3s ease infinite;transition:width 1s ease}@keyframes gradientAnimation{0%{background-position:0% 50%}50%{background-position:100% 50%}100%{background-position:0% 50%}}.alert-box{padding:10px;font-size:0.8em;display:flex;align-items:center;justify-content:center;background-color:#147ab8;color:#ffffff;border-radius:15px;margin-bottom:25px;box-shadow:0 8px 16px rgba(0,0,0,0.1);text-align:center}.alert-icon{margin-right:10px;font-size:1.5em}.alert-message{font-size:1.2em}.countdown-container{text-align:center;margin-top:20px;position:relative}.countdown{font-size:2em;font-weight:bold;color:#333;background-color:#f8f9fa;padding:20px;border-radius:50%;box-shadow:0 4px 8px rgba(0,0,0,0.1);width:150px;height:150px;display:flex;justify-content:center;align-items:center;margin:0 auto;position:relative;font-family:'Courier New',Courier,monospace}.countdown svg{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%) rotate(-90deg);width:100%;height:100%}.countdown circle{fill:none;stroke-width:10;stroke-linecap:round}.countdown .bg{stroke:#e6e6e6}.countdown .progress{stroke:#4caf50;stroke-dasharray:282.6;stroke-dashoffset:282.6;transition:stroke-dashoffset 1s linear}@media (max-width:1200px){.glass-container{width:80%}}@media (max-width:768px){.message{font-size:1em}.progress-bar{height:12px}.flex-row{flex-direction:column;text-align:center;align-items:center}.text,.link{margin:5px 0}.link{word-break:break-word}.countdown{font-size:1.5em;width:120px;height:120px}.countdown svg{width:120px;height:120px}}@media (max-width:480px){.message{font-size:0.9em}.progress-bar{height:10px}.flex-row{flex-direction:column;text-align:center;align-items:center}.text,.link{margin:3px 0}.link{word-break:break-word}.countdown{font-size:1.2em;width:100px;height:100px}.countdown svg{width:100px;height:100px}}.home-button:hover{background:rgba(76,175,80,0.05);color:#4CAF50;box-shadow:0 0 8px #4CAF50,0 0 16px #4CAF50,0 0 24px #4CAF50,0 0 32px #4CAF50}.visit-button:hover{background:rgba(244,67,54,0.05);color:#F44336;box-shadow:0 0 8px #F44336,0 0 16px #F44336,0 0 24px #F44336,0 0 32px #F44336} </style> </head> <body> <div class="glass-container animated bounceInDown" style="border:none;"> <div id="loading" style="display: none; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%);"> <div class="spinner-border text-primary" role="status"> <span class="visually-hidden">Loading...</span> </div> </div> <div class="countdown-container"> <div class="countdown"> <svg viewBox="0 0 100 100"> <circle class="bg" cx="50" cy="50" r="45"></circle> <circle class="progress" cx="50" cy="50" r="45"></circle> </svg> <div id="countdown">15</div> </div> </div> <div class="progress-bar-container my-3"> <div id="progress-bar" class="progress-bar"></div> </div> <div class="alert-box"> <div class="alert-icon"><i class="fas fa-exclamation-triangle"></i></div> <div class="alert-message">安全性未知,是否继续</div> </div> <div class="flex-row"> <span class="text">即将跳转到外部网站</span> <a class="neon-link button-effect external-link" href="<?php echo $url; ?>"> <?php echo $url; ?> </a> </div> <div class="d-flex justify-content-center"> <a href="/" class="neon-button button-effect home-button"> <span></span> <span></span> <span></span> <span></span> 返回网站 </a> <a href="<?php echo $url; ?>" class="neon-button button-effect visit-button"> <span></span> <span></span> <span></span> <span></span> 立即访问 </a> </div> <script> var countdownElement = document.getElementById('countdown'); var progressBar = document.getElementById('progress-bar'); var progressCircle = document.querySelector('.countdown .progress'); var totalSeconds = 15; var initialDashoffset = 282.6; var timer; function updateTimer() { totalSeconds--; var minutes = Math.floor(totalSeconds / 60); var seconds = totalSeconds % 60; countdownElement.textContent = (minutes < 10 ? '0' : '') + minutes + ":" + (seconds < 10 ? '0' : '') + seconds; progressBar.style.width = ((15 - totalSeconds) / 15 * 100) + "%"; var progressOffset = initialDashoffset - (initialDashoffset * ((15 - totalSeconds) / 15)); progressCircle.style.strokeDashoffset = progressOffset; if (totalSeconds <= 0) { clearInterval(timer); window.location.href = "<?php echo $url; ?>"; } } function startTimer() { timer = setInterval(updateTimer, 1000); } function showLoading() { document.getElementById('loading').style.display = 'block'; } startTimer(); document.addEventListener("DOMContentLoaded", function() { var img = new Image(); img.src = "<?php echo $background_image_url; ?>"; img.onload = function() { document.body.style.background = "url('<?php echo $background_image_url; ?>') no-repeat center center/cover"; }; }); </script> </div> </body> </html> 此处内容已隐藏,请评论后刷新页面查看. 此处内容已隐藏,请评论后刷新页面查看. <?php // 安全防护 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; } @session_start(); $t_url = ''; if (!empty($_SESSION['GOLINK'])) { $t_url = $_SESSION['GOLINK']; } elseif (isset($_GET['url'])) { $t_url = $_GET['url']; } elseif (preg_match('/^url=(.*)$/i', $_SERVER["QUERY_STRING"], $m)) { $t_url = $m[1]; } if (!empty($t_url)) { if ($t_url == base64_encode(base64_decode($t_url))) { $t_url = base64_decode($t_url); } $t_url = htmlspecialchars(urldecode($t_url)); preg_match('/^(http|https|thunder|qqdl|ed2k|Flashget|qbrowser):\/\//i', $t_url, $matches); $wiiui_title = function_exists('get_bloginfo') ? get_bloginfo('name') : '本站'; if ($matches) { $url = $t_url; } else { preg_match('/\./i', $t_url, $matche); if ($matche) { $url = 'http://' . $t_url; } else { $url = 'http://' . $_SERVER['HTTP_HOST']; } } } else { $wiiui_title = function_exists('get_bloginfo') ? get_bloginfo('name') : '本站'; $url = 'http://' . $_SERVER['HTTP_HOST']; } $url = str_replace('&', '&', $url); $site_url = (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] == 'on' ? 'https://' : 'http://') . $_SERVER['HTTP_HOST']; ?> <!DOCTYPE html> <html lang="zh-CN"> <head> <meta charset="utf-8" /> <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> <title>安全跳转 - <?php echo $wiiui_title; ?></title> <link rel="stylesheet" href="https://cdn.bootcdn.net/ajax/libs/font-awesome/6.5.2/css/all.min.css"> <style> body { width: 100%; height: 100vh; background: linear-gradient(135deg, #0f0c29, #302b63, #24243e); font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; overflow: hidden; margin: 0; } .main { width: 100vw; min-height: 100vh; display: flex; flex-direction: column; justify-content: center; align-items: center; padding: 20px; z-index: 10; position: relative; } .card { background: rgba(255,255,255,0.05); backdrop-filter: blur(10px); border-radius: 20px; border: 1px solid rgba(255,255,255,0.1); padding: 30px; max-width: 500px; width: 100%; text-align: center; box-shadow: 0 15px 35px rgba(0,0,0,0.2); margin-bottom: 30px; position: relative; z-index: 2; } .card h2 { color: #fff; margin-bottom: 25px; font-weight: 600; font-size: 28px; text-shadow: 0 0 10px rgba(255, 255, 255, 0.3); } .loader-container { position: relative; margin: 30px 0; } .circle { display: flex; justify-content: center; align-items: center; width: 200px; height: 200px; margin: 0 auto; background-image: linear-gradient(0deg, rgb(47,102,255), rgb(153,64,255) 30%, rgb(238,55,255) 60%, rgb(255,0,76) 100%); border-radius: 50%; animation: rotate 1.5s linear infinite; box-shadow: 0 0 50px rgba(153,64,255,0.5); position: relative; } .circle::before { content: ""; position: absolute; width: 200px; height: 200px; left: 0; top: 0; background-image: linear-gradient(0deg, rgb(47,102,255), rgb(153,64,255) 30%, rgb(238,55,255) 60%, rgb(255,0,76) 100%); border-radius: 50%; filter: blur(35px); opacity: 0.7; z-index: 1; } .circle::after { content: ""; position: absolute; left: 25px; top: 25px; width: 150px; height: 150px; background: rgba(15,12,41,0.82); border-radius: 50%; z-index: 2; } .countdown { position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%); color: #fff; font-size: 42px; font-weight: 700; z-index: 5; text-shadow: 0 0 10px rgba(255,255,255,0.5); } .info-box { background: rgba(0,0,0,0.2); border-radius: 12px; padding: 15px; margin: 20px 0 10px 0; } .info-box p { color: #fff; margin: 8px 0; font-size: 16px; } .info-box .url { color: #6cff6c; font-weight: 500; word-break: break-all; font-size: 14px; } .security-info { display: flex; justify-content: center; align-items: center; margin-top: 20px; color: #ffc107; } .security-info i { margin-right: 10px; font-size: 20px; } .tips { color: rgba(255,255,255,0.85); font-size: 14px; margin-top: 10px; line-height: 1.6; } .btn-cancel { background: rgba(255,255,255,0.1); border: 1px solid rgba(255,255,255,0.2); color: #fff; padding: 10px 25px; border-radius: 50px; font-weight: 500; margin-top: 24px; transition: all 0.3s ease; cursor: pointer; outline: none; border: none; font-size: 16px; position: relative; z-index: 9; /* 保证按钮在最上层 */ } .btn-cancel:hover, .btn-cancel:focus { background: rgba(255,255,255,0.2); transform: translateY(-2px); } .footer { color: rgba(255,255,255,0.6); text-align: center; font-size: 14px; margin-top: 12px; z-index:2; position: relative; } @keyframes rotate { 0% { transform: rotate(0deg);} 100% { transform: rotate(360deg);} } .particles {position: absolute;top:0;left:0;width:100vw;height:100vh;z-index:1;} .particle {position:absolute;border-radius:50%;background:rgba(255,255,255,0.07);} @media (max-width: 576px) { .card {padding: 15px;} .circle {width: 120px;height: 120px;} .circle::before {width: 120px;height: 120px;} .circle::after {width: 85px;height: 85px;left: 17.5px;top: 17.5px;} .countdown {font-size: 28px;} } </style> </head> <body> <div class="particles" id="particles"></div> <div class="main"> <div class="card"> <h2><i class="fas fa-shield-alt"></i> 安全跳转页面</h2> <div class="loader-container" style="height:220px;"> <div class="circle"></div> <div class="countdown" id="second">3s</div> </div> <div class="info-box"> <p><i class="fas fa-exclamation-triangle"></i> 网络交易需谨慎,正在跳转到目标网址</p> <p>目标网址:<span class="url" id="targetUrl"><?php echo $url;?></span></p> </div> <div class="security-info"> <i class="fas fa-lock"></i> <span>安全检测通过,此跳转经过安全验证</span> </div> <p class="tips"> 请注意:该跳转由第三方网站提供,请仔细核对网址,确保访问的是您信任的网站。 如有疑问,请勿继续访问。 </p> <button type="button" class="btn-cancel" id="cancelBtn"> <i class="fas fa-ban"></i> 取消跳转 </button> </div> <div class="footer"> <p>安全跳转系统 © <?php echo date('Y');?> | 保护您的网络安全</p> </div> </div> <script> // 粒子背景 (function () { const container = document.getElementById('particles'); for(let i=0;i<44;i++){ let p = document.createElement('div'); p.classList.add('particle'); let size = Math.random()*5+2; let posX = Math.random()*100,posY=Math.random()*100; p.style.width = size+"px";p.style.height = size+"px"; p.style.left = posX+"vw";p.style.top = posY+"vh"; let duration = Math.random()*20+10; p.style.animation = `float ${duration}s linear infinite`; container.appendChild(p); } })(); // 跳转与按钮 var timeNum = 3, timer = null, jumped = false; var turl = <?php echo json_encode($url); ?>; document.addEventListener("DOMContentLoaded", function(){ // 确保按钮层级最高 var btn = document.getElementById('cancelBtn'); btn.style.position = 'relative'; btn.style.zIndex = 99; // 倒计时逻辑 var sec = document.getElementById("second"); var i = timeNum; sec.innerHTML = i + "s"; timer = setInterval(function(){ --i; sec.innerHTML = i + "s"; if(i <= 0){ clearInterval(timer); if(jumped)return; jumped = true; window.location.href = turl; } },1000); // 绑定取消按钮 btn.addEventListener('click', function(e){ e.preventDefault(); if(jumped)return; jumped = true; clearInterval(timer); sec.innerHTML = "已取消"; setTimeout(function () { var ref = document.referrer, cur = location.href; var site_url = <?php echo json_encode($site_url); ?>; if(ref && ref !== cur && (ref.indexOf(location.host)!==-1 || ref.indexOf("http")===0)){ window.location.href = ref; } else if(window.history.length > 1){ window.history.back(); } else if(window.opener){ window.close(); } else { window.location.href = site_url; } }, 420); }, false); // 补充目标url显示 document.getElementById('targetUrl').textContent = turl; }); </script> </body> </html> 温馨提示: 本文最后更新于2025-09-04,某些文章具有时效性,若有错误或已失效,请在下方留言或联系微信:Xinsiwei0088。 ------本页内容已结束,喜欢请分享------ 感谢您的来访,获取更多精彩文章请收藏本站。 子比主题 – 外链Go页面样式代码(共十四款)此内容为付费资源,请付费后查看X币9.9网站会员免费网站加盟免费登录购买付费资源© 版权声明 本站收集的资源仅供内部学习使用,学习研究后请自觉删除,请勿传播,因未及时删除所造成的任何后果责任自负。 如果用于其他用途,请购买正版支持作者,谢谢!若您认为「91xinsiwei.com」发布的内容若侵犯到您的权益,请联系站长邮箱:539814552@qq.com 进行删除处理。 本站资源大多存储在云盘,如发现链接失效,请联系我们,我们会第一时间更新。 THE END子比美化# 子比主题# 美化 喜欢就支持一下吧点赞147 分享QQ空间微博QQ好友海报分享复制链接收藏