WordPress防红系统跳转页面和引导跳转页面gophp-html源码美化版

本文主要是介绍WordPress防红系统跳转页面和引导跳转页面gophp-html源码美化版,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

源码介绍

   WordPress防红系统跳转页面和引导跳转页面gophp-html源码美化版,双端自适应。自动文章内的外链加入加密的跳转链接,其他网站也可以用。

使用教程:

1、网站根目录新建go文件夹

2、go目录里新建index.php

3、index.php里的代码如下:

<?php
/*自动跳转页面
*@copyright (c) Emlog All Rights Reserved */
//自定义跳转地址
$cars = array(array("qcloud",'https://curl.qcloud.com/ogHI5jPB'),array("aliyun",'https://www.aliyun.com/minisite/goods?userCode=y7af6jip'),);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=之后的所有值,兼容性更好
$t_url = htmlspecialchars(preg_replace('/^url=(.*)$/i','$1',$_SERVER["QUERY_STRING"]));//此处可以自定义一些特别的外链,不需要可以删除以下5行
foreach($cars as $k=>$val){if($t_url==$val[0] ) {$t_url =  $val[1];$t_vip = 1;}
}//数据处理
if(!empty($t_url)) {//判断取值是否加密if ($t_url == base64_encode(base64_decode($t_url))) {$t_url =  base64_decode($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="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no">
<meta name="robots" content="noindex, nofollow" />
<noscript><meta http-equiv="refresh" content="1;url='<?php echo $url;?>';"></noscript>
<link rel="icon" type="image/x-icon" href="https://www.cnzzzj.com/wp-content/uploads/2020/09/favicon-1.ico">
<meta charset="UTF-8">
<!--[if IE 8]>
<style>
.ie8 .alert-circle,.ie8 .alert-footer{display:none}.ie8 .alert-box{padding-top:75px}.ie8 .alert-sec-text{top:45px}
</style>
<![endif]-->
<title><?php echo $title;?></title>
<style>
body {margin: 0;padding: 0;background: #E6EAEB;font-family: Arial, '微软雅黑', '宋体', sans-serif
}
.alert-box {display: none;position: relative;margin: 135px auto 0;padding: 150px 83px 22px;border-radius: 10px;background: #FFF;box-shadow: 5px 9px 17px rgba(102,102,102,0.75);width: 286px;color: #FFF;text-align: center
}
.alert-box p {margin: 0
}
.alert-circle {position: absolute;top: -50px;left: 111px
}
.alert-sec-circle {stroke-dashoffset: 0;stroke-dasharray: 735;transition: stroke-dashoffset 1s linear
}
.alert-sec-text {position: absolute;top: 11px;left: 190px;width: 76px;color: #000;font-size: 68px
}
.alert-sec-unit {font-size: 34px
}
.alert-body {margin: 35px 0
}
.alert-head {color: #242424;font-size: 28px
}
.alert-concent {margin: 25px 0 14px;color: #7B7B7B;font-size: 18px
}
.alert-concent p {line-height: 27px
}
.alert-btn {display: block;border-radius: 10px;background-color: #4AB0F7;height: 55px;line-height: 55px;width: 286px;color: #FFF;font-size: 20px;text-decoration: none;letter-spacing: 2px
}
.alert-btn:hover {background-color: #6BC2FF
}
.alert-footer {margin: 0 auto;height: 42px;width: 120px
}
.alert-footer-icon {float: left
}
.alert-footer-text {float: left;border-left: 2px solid #EEE;padding: 3px 0 0 5px;height: 40px;color: #0B85CC;font-size: 12px;text-align: left
}
.alert-footer-text p {color: #7A7A7A;font-size: 22px;line-height: 18px
}
@media screen and (max-width: 700px) {.alert-box{width: 180px;}.alert-circle{top: -80px;left: 60px;}.alert-sec-text {left: 145px;width: auto;font-size: 38px;}.alert-head {font-size: 18px;}.alert-box p {font-size: 16px;}    .alert-btn {width: auto;}
}
</style>
</head>
<body class="ie8" style="">
<div class="main"><div id="js-alert-box" class="alert-box" style="display:block"><svg class="alert-circle" width="234" height="234"><circle cx="117" cy="117" r="108" fill="#FFF" stroke="#43AEFA" stroke-width="17"></circle><circle id="js-sec-circle" class="alert-sec-circle" cx="117" cy="117" r="108" fill="transparent" stroke="#F4F1F1" stroke-width="18" transform="rotate(-90 117 117)"></circle><text class="alert-sec-unit" x="98" y="172" fill="#BDBDBD">秒</text></svg><div id="js-sec-text" class="alert-sec-text">3</div><div class="alert-body"><div id="js-alert-head" class="alert-head"><?php echo $title;?></div><div class="alert-concent"><p>外部网站,注意安全!</p></div><a id="js-alert-btn" class="alert-btn" href="<?php echo $url;?>">立即前往</a></div><div class="alert-footer clearfix"><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"></circle><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"></path><circle fill-rule="evenodd" clip-rule="evenodd" fill="#FEFEFE" cx="35.417" cy="10.75" r="6.5"></circle><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 "></polygon></svg><div class="alert-footer-text"><p>secure</p>安全加密</div></div></div>
</div>
<script type="text/javascript">
function alertSet(e) {document.getElementById("js-alert-box").style.display = "block", document.getElementById("js-alert-head").innerHTML = e;var t = 3,n = document.getElementById("js-sec-circle");document.getElementById("js-sec-text").innerHTML = t, setInterval(function() {//禁止其他网站调用此跳转//var MyHOST = new RegExp("<?php echo $_SERVER['HTTP_HOST']; ?>");//if (!MyHOST.test(document.referrer)) {//     location.href="http://" + MyHOST;//}if (0 == t) location.href = "<?php echo $url;?>";else {t -= 1, document.getElementById("js-sec-text").innerHTML = t;var e = Math.round(t / 5 * 735);n.style.strokeDashoffset = e - 735}}, 970)
} </script>
<script>alertSet("<?php echo $title;?>");</script>
</body>
</html>

4、在functions.php里加下面的代码:(注部分主题可能不是这个请自己区别)

/*自动给文章的外部链接添加nofollow属性开始*/ 
add_filter('the_content','link_jump',999);function link_jump($content){preg_match_all('/<a(.*?)href="(.*?)"(.*?)>/',$content,$matches);if($matches){foreach($matches[2] as $val){if(strpos($val,'://')!==false && strpos($val,home_url())===false && !preg_match('/\.(jpg|jepg|png|ico|bmp|gif|tiff)/i',$val) && !preg_match('/(ed2k|thunder|Flashget|flashget|qqdl):\/\//i',$val)){$content=str_replace("href=\"$val\"", "href=\"".home_url()."/go/?".base64_encode($val)."\" rel=\"nofollow\"",$content);}}}return $content;}
// 自动给文章的外部链接添加nofollow属性结束
/*WordPress外链自动新窗口打开并添加nofollow属性*/
add_filter( 'the_content', 'cn_nf_url_parse');
function cn_nf_url_parse( $content ) {$regexp = "<a\s[^>]*href=(\"??)([^\" >]*?)\\1[^>]*>";if(preg_match_all("/$regexp/siU", $content, $matches, PREG_SET_ORDER)) {if( !empty($matches) ) {$srcUrl = get_option('siteurl');for ($i=0; $i < count($matches); $i++){$tag = $matches[$i][0];$tag2 = $matches[$i][0];$url = $matches[$i][0];$noFollow = '';$pattern = '/target\s*=\s*"\s*_blank\s*"/';preg_match($pattern, $tag2, $match, PREG_OFFSET_CAPTURE);if( count($match) < 1 )$noFollow .= ' target="_blank" ';$pattern = '/rel\s*=\s*"\s*[n|d]ofollow\s*"/';preg_match($pattern, $tag2, $match, PREG_OFFSET_CAPTURE);if( count($match) < 1 ) $noFollow .= ' rel="nofollow" '; $pos = strpos($url,$srcUrl); if ($pos === false) { $tag = rtrim ($tag,'>');$tag .= $noFollow.'>';$content = str_replace($tag2,$tag,$content);}}}}$content = str_replace(']]>', ']]>', $content);return $content;
}

 

这篇关于WordPress防红系统跳转页面和引导跳转页面gophp-html源码美化版的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/206772

相关文章

全面解析HTML5中Checkbox标签

《全面解析HTML5中Checkbox标签》Checkbox是HTML5中非常重要的表单元素之一,通过合理使用其属性和样式自定义方法,可以为用户提供丰富多样的交互体验,这篇文章给大家介绍HTML5中C... 在html5中,Checkbox(复选框)是一种常用的表单元素,允许用户在一组选项中选择多个项目。本

HTML5 搜索框Search Box详解

《HTML5搜索框SearchBox详解》HTML5的搜索框是一个强大的工具,能够有效提升用户体验,通过结合自动补全功能和适当的样式,可以创建出既美观又实用的搜索界面,这篇文章给大家介绍HTML5... html5 搜索框(Search Box)详解搜索框是一个用于输入查询内容的控件,通常用于网站或应用程

CSS3中的字体及相关属性详解

《CSS3中的字体及相关属性详解》:本文主要介绍了CSS3中的字体及相关属性,详细内容请阅读本文,希望能对你有所帮助... 字体网页字体的三个来源:用户机器上安装的字体,放心使用。保存在第三方网站上的字体,例如Typekit和Google,可以link标签链接到你的页面上。保存在你自己Web服务器上的字

基于Python实现一个简单的题库与在线考试系统

《基于Python实现一个简单的题库与在线考试系统》在当今信息化教育时代,在线学习与考试系统已成为教育技术领域的重要组成部分,本文就来介绍一下如何使用Python和PyQt5框架开发一个名为白泽题库系... 目录概述功能特点界面展示系统架构设计类结构图Excel题库填写格式模板题库题目填写格式表核心数据结构

html 滚动条滚动过快会留下边框线的解决方案

《html滚动条滚动过快会留下边框线的解决方案》:本文主要介绍了html滚动条滚动过快会留下边框线的解决方案,解决方法很简单,详细内容请阅读本文,希望能对你有所帮助... 滚动条滚动过快时,会留下边框线但其实大部分时候是这样的,没有多出边框线的滚动条滚动过快时留下边框线的问题通常与滚动条样式和滚动行

Linux系统中的firewall-offline-cmd详解(收藏版)

《Linux系统中的firewall-offline-cmd详解(收藏版)》firewall-offline-cmd是firewalld的一个命令行工具,专门设计用于在没有运行firewalld服务的... 目录主要用途基本语法选项1. 状态管理2. 区域管理3. 服务管理4. 端口管理5. ICMP 阻断

使用vscode搭建pywebview集成vue项目实践

《使用vscode搭建pywebview集成vue项目实践》:本文主要介绍使用vscode搭建pywebview集成vue项目实践,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地... 目录环境准备项目源码下载项目说明调试与生成可执行文件核心代码说明总结本节我们使用pythonpywebv

Windows 系统下 Nginx 的配置步骤详解

《Windows系统下Nginx的配置步骤详解》Nginx是一款功能强大的软件,在互联网领域有广泛应用,简单来说,它就像一个聪明的交通指挥员,能让网站运行得更高效、更稳定,:本文主要介绍W... 目录一、为什么要用 Nginx二、Windows 系统下 Nginx 的配置步骤1. 下载 Nginx2. 解压

如何确定哪些软件是Mac系统自带的? Mac系统内置应用查看技巧

《如何确定哪些软件是Mac系统自带的?Mac系统内置应用查看技巧》如何确定哪些软件是Mac系统自带的?mac系统中有很多自带的应用,想要看看哪些是系统自带,该怎么查看呢?下面我们就来看看Mac系统内... 在MAC电脑上,可以使用以下方法来确定哪些软件是系统自带的:1.应用程序文件夹打开应用程序文件夹

windows系统上如何进行maven安装和配置方式

《windows系统上如何进行maven安装和配置方式》:本文主要介绍windows系统上如何进行maven安装和配置方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不... 目录1. Maven 简介2. maven的下载与安装2.1 下载 Maven2.2 Maven安装2.