zblogPHP评论链接加密并美化跳转的完美方法
当前位置:首页 - 代码技巧 - zblogPHP评论链接加密并美化跳转的完美方法

使用zblog的小伙伴们网站大部分都有评论功能,而评论者可以在留言的时候添加网址,对于这些链接大部分主题都有添加nofollow来屏蔽,但是百度对于nofollow还没有做到完全意义上的忽略,所以我们有必要做一下评论链接跳转。实际效果:

GIF.gif

此文需要搭配goto.PHP使用,goto.php创建方法详见:站外链跳转页面代码的分享

使用评论链接跳转插件的优势:将外连接变为【http://你网站地址/go/?url=加密的站外链接URL】 的形式,防止权重流失

这里只说如何替换评论者的连接,代码如下:

首先在你的主题里面的include.php页面底部添加这样一段代码(代码来自toyean网)

<?php
function _get($str){
        $val = !empty($_GET[$str]) ? $_GET[$str] : null;
        return $val;
}

function encrypt($data, $key){
        $char = $str = '';
        $key        =        md5($key);
        $x        =        0;
        $len        =        strlen($data);
        $l        =        strlen($key);
        for ($i = 0; $i < $len; $i++){
                if ($x == $l){
                        $x = 0;
                }
                $char .= $key{$x};
                $x++;
        }
        for($i = 0; $i < $len; $i++){
                $str .= chr(ord($data{$i}) + (ord($char{$i})) % 256);
        }
        return base64_encode($str);
}

function decrypt($data, $key){
        $char = $str = '';
        $key = md5($key);
        $x = 0;
        $data = base64_decode($data);
        $len = strlen($data);
        $l = strlen($key);
        for ($i = 0; $i < $len; $i++){
                if ($x == $l){
                        $x = 0;
                }
                $char .= substr($key, $x, 1);
                $x++;
        }
        for ($i = 0; $i < $len; $i++){
                if (ord(substr($data, $i, 1)) < ord(substr($char, $i, 1))){
                        $str .= chr((ord(substr($data, $i, 1)) + 256) - ord(substr($char, $i, 1)));
                }else{
                        $str .= chr(ord(substr($data, $i, 1)) - ord(substr($char, $i, 1)));
                }
        }
        return $str;
}
?>

然后打开你的主题下template文件夹里面的comment.php文件在顶部增加

{php}
$data = $comment->Author->HomePage;             //明文
$key = 'TOYEAN';                                //公钥
$encrypt = encrypt($data, $key);                //密文
{/php}

最后找到:{$comment.Author.HomePage}修改为:

<a href="{$host}/goto.php?url={$encrypt}" rel="nofollow" target="_blank">{$comment.Author.StaticName}</a>

可以伪静态,具体方法也参照上一篇文章,伪静态的时候需要

<a href="{$host}/goto/{$encrypt}" rel="nofollow" target="_blank">{$comment.Author.StaticName}</a>

最后保存后在后台首页更新一下缓存即可完成。


共有 3 条评论

  1. avatar

    donkeymails   2018-01-18 13:22 回复

    comment.php文件里面没找到{$comment.Author.HomePage},只有{$comment.Author.Avatar}和{$comment.Author.Name},该怎么修改呢?

    1. avatar

      muzi   2018-01-19 09:18 回复

      原理是一样的,更换你主题模板的评论者的网址链接即可。

  2. avatar

    懿古今   2017-09-29 16:39 回复

    现在确实很多人都喜欢使用跳转功能,这个可以实现把外链变内链,不错

Top

分享: