^ 回到顶部
  • 人生没有定律,每个人都有自己的节奏
  • 本站wordpress建站教程均通过实践后发布,希望对你有帮助,如果有代码出错,请联系站长解决
  • 希望你的坚持,都是因为热爱,而不是因为不甘心
  • 8年wordpress建站经验,5星服务品质
  • 那些不愿意让你吃亏的人,才是真正值得你深交的人,也是值得你付出时间的人
  • 腾讯云3年2核2G新品轻量限时特惠只需408元

如何防止多说剽窃我们的网站内容

关于多说评论,陌小雨之前给大家分享了几篇不错的文章:

1、适合小白的 多说 本地化、显示多说评论者 UA 信息及管理员标示教程
2、简单调用 多说 最近来访列表头像
3、分享适合 xiu 主题的 多说 评论样式
4、WordPress 删除文章多余的(比如多说)自定义字段及值

2 核 2G 限时特惠 396 元/3 年    宝塔建站 10850 大礼包

不过很多站长都对他是否会剽窃网站内容有一定的怀疑,因为在 wp-content/plugins/duoshuo/WordPress.php 中有如下“剽窃”代码:
如何防止多说剽窃我们的网站内容

红色方框内的代码直接将整个 post 的 content 发送到多说服务器,而且是不含版权信息的。这样就会造成几个问题:

“多说服务器是否会保存我的文章?这些文章数据作何用途?”

“假如我勾选了同时发布到豆瓣,那么豆瓣上就会存在一篇一模一样的文章(虽然有一个小小的原文链接),搜索引擎会不会认为是我剽窃了豆瓣这篇文章?”

“豆瓣这些站点的权重远远大于我的博客,搜索引擎会不会优先收录豆瓣上的同步文章,放弃收录本博客的文章?”

“豆瓣收录了全文,后来我想修改这篇文章,又不好意思再同步一次(这样会打扰我的关注者),难道要我专门过去手动修改?”

这几个问题无论成不成立,都是隐患。虽然我的博文价值不大,但好歹都是辛辛苦苦码出来的,不希望被任何人轻易抓走。同时,作为博主,我又希望自己的豆瓣等社交媒体上能有一个入口进入到博客。所以最好的办法是参照微博的做法,只同步前 140 个字,想阅读更多,还是麻烦移步博客吧。

作为一个爱折腾的人,我决定给多说做个手术。

为了消除这个隐患,我们来给多说评论动动刀子,

在该文件中添加下面代码:

    /**
         * 获取缩略图
         * @param $post
         * @return string
         */
        private function get_thumbnail($post) {
            if ( has_post_thumbnail() ) {
                $domsxe = simplexml_load_string(get_the_post_thumbnail());
                $thumbnailsrc = $domsxe->attributes()->src;
                return '<img src="'.$thumbnailsrc.'" alt="'.trim(strip_tags( $post->post_title )).'" />';
            } else {
                $content = $post->post_content;
                preg_match_all('/<img.*(: |\\t|\\r|\\n)src=[\'"](.+)[\'"](:(: |\\t|\\r|\\n)+.*)>/sim', $content, $strResult, PREG_PATTERN_ORDER);
                $n = count($strResult[1]);
                if($n > 0){
                    return '<img src="'.$strResult[1][0].'" alt="'.trim(strip_tags( $post->post_title )).'" />';
                }else {
                    return '<img src="'.get_bloginfo('template_url').'/img/logo.png" alt="'.trim(strip_tags( $post->post_title )).'" />';
                }
            }
        }
     
        /**
         * 摘要提取
         * @param $str
         * @param $start
         * @param $width
         * @param $trimmarker
         * @return string
         */
        private function strimwidth($str ,$start , $width ,$trimmarker ){
            $output = preg_replace('/^(:[\x00-\x7F]|[\xC0-\xFF][\x80-\xBF]+){0,'.$start.'}((:[\x00-\x7F]|[\xC0-\xFF][\x80-\xBF]+){0,'.$width.'}).*/s','\1',$str);
            return $output.$trimmarker;
        }
     
        /**
         * 获取一片文章的摘要
         * @param $post
         * @return string
         */
        private function get_summary($post){
            return $this->strimwidth(strip_tags($post->post_content), 0, 256, '...');
        }
     
        /**
         * 文章末尾加版权说明
         * @param $post
         * @return string
         */
        private function get_copyright($post) {
            return '<p>阅读更多:<a href="'.get_bloginfo('url').'">'.get_bloginfo('name').'</a> &raquo; <a href="'.get_permalink($post).'">'.$post->post_title.'</a></p>';
        }

然后修改第一张图片方框中的代码:

    // 自动摘要防剽窃
    $post->post_content = $this->get_thumbnail($post) . $this->get_summary($post) . $this->get_copyright($post);

陌小雨已经很久没有使用该插件了,具体效果就不贴图放出来,以后再补充吧。

赠人玫瑰,手有余香。