2024年2月更新版WordPress建站go外链跳转php代码及教程

今天,突然发现go外链跳转出现问题,不能正常方法,紧急修复更新如下,请参考使用。

第一步:创建外链跳转代码

创建外链跳转代码必不可少,这一步我们可以通过两种方式实现:

1、在WordPress站点的根目录下新建一个go.php文件。

2、在WordPress站点根目录下新建一个go文件夹,然后在文件夹内新建index.php文件。

下面的跳转代码加入了QQ邮箱跳转页面样式,非常精美。php 文件内容如下(不论是用上面的两种方式中的那一种,都使用下面的代码创建php文件):

 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 = preg_replace('/^.*url=(.*)$/i','$1',$_SERVER["QUERY_STRING"]);


//此处可以自定义一些特别的外链,不需要可以删除以下5行
if($t_url=="juyun" ) {
$t_url="https://juyun.top";
} elseif($t_url=="www.juyun") {
$t_url="https://www.juyun.top";
}

//数据处理
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'];
}

// 判断来源和跳转后的地址是不是来源于本站

// 2023.11.10 本次更新了$fromUrl的获取及赋值 更新代码start
if(isset($_SERVER["HTTP_REFERER"])){
    $fromUrl = $_SERVER["HTTP_REFERER"];
    }else{
        $get_randomParam= $_GET['source'];
        $from_randomParam = $_SESSION["randomParam"];
        if($get_randomParam == $from_randomParam) {
            $fromUrl = "juyun.top";
        }else{
            $fromUrl = "";
        }
    }
    
//更新代码结束,注意在最前面加上session_start,同时更新function.php中外链跳转部分代码

// $fromUrl = isset($_SERVER["HTTP_REFERER"])? $_SERVER["HTTP_REFERER"]: ''; // 获取来源url 
$myDomain = 'juyun.top';  // 请将这里的网址改为自己的(顶级)域名地址  
$echoTips = false;  
if(false !==strpos($fromUrl,$myDomain)){
    $echoTips = true;
}

/** 
 * 判断是不是自己的域名 
 * @param $domain 要进行判断的域名 
 * @param $my 自己的域名 
 * @return 对比结果 
 */  
function isMyDomain($domain, $my) {  
    preg_match('/([^\?]*)/i', $domain, $match);  
    if(isset($match[1])) $domain = $match[1];  
    preg_match('/([\w-]*\.[\w-]*)\/.*/i', $domain.'/', $match);  
    if(isset($match[1]) && $match[1] == $my) return true;  
    return false;  
}  

?>








<?php echo $title;?>



  
    
未通过安全校验,正在前往您选择的【聚云网】官网,请稍候...
已通过安全校验,正在前往您选择的【云服务器】官网,请稍候...

第二步:在functions.php进行跳转代码应用

打开主题文件夹下的functions.php,加入以下代码:

//给外部链接加上跳转
add_filter('the_content', 'the_content_nofollow', 999);
function the_content_nofollow($content)
{
    preg_match_all('//', $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)) {
                global $_SESSION;
                if (!isset($_SESSION['randomParam'])) {
                    $_SESSION['randomParam'] = uniqid();
                }
                $randomParam = $_SESSION['randomParam'];
                $content = str_replace("href=\"$val\"", "href=\"" . home_url() . "/go/?source=$randomParam&url=$val\" ", $content);
            }
        }
    }
    return $content;
}

如果采用了方法1,在网站根目录创建了一个 go.php 文件,则把 str_replace(“href=\”$val\””, “href=\””.home_url().”/go/?url=$val\” “,$content); 中的 go/? 改为 go.php? 即可。

第三步、禁止百度蜘蛛抓取收录

修改Robots文件,在里面加入这句 Disallow: /go/ ,屏蔽各大搜索引擎的蜘蛛抓取go文件夹下的文件。

本站所有内容,如有版权、侵权等问题,请及时联系本站做删除。发布者:聚云网,转载请注明出处:https://www.juyun.top/6908.html

(1)
打赏 微信扫一扫 微信扫一扫
云大君云大君
上一篇 2023年11月4日 下午3:38
下一篇 2024年4月6日 下午8:47

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

问答社区 在线客服
咨询电话

iphone 咨询热线:13001069197

服务时间:上午 9:00 至晚上 21:00

联系我们

qq 技术:109033286

qq 运维:3423710838

email 邮箱:drhxxkj@163.com

2022072119482661 808026766

分享本页
返回顶部
上云攻略全知道

企业上云,购买云服务器攻略帮您节省上云成本,价值千元 的上云攻略,让您省到就是赚到!

查看详情