WordPress向け、初歩的コピーブログ防止対策・・?

最近、巷ではパkr・・もとい、有名記事を大胆に引用するブログの存在が騒がれていますね。そんなブログにあっさり引用されないように、初歩的な対策法を紹介しちゃいます。
といっても、おでこさんのフィードで対策してるよーって伺っていたので、それをちょっぴりパワーアップしただけなんですけどね。

簡単に言うと、フィードや本文中に著作に関する文章を織り交ぜるだけです。
フィードの場合は、そのままテキストが見えてしまうので一番最後に、通常表示の場合は、ちょっとだけ技巧を凝らして、本文中の段落の終了直後のランダムな位置に継ぎ足すようにしてみました。
これを、投稿IDに準じたclass名とCSSを、動的に出力するようにしています。

※段落タグを含むHTMLのソース表示を行っていたりすると、ソース表示内にテキストが付加されてしまうかもしれません。

CODE 1

function add_copyright_text2feed( $content ) {
    return $content .= create_copyright_text();
}
add_filter( 'the_content_feed', 'add_copyright_text2feed' );

function add_copyright_text2content( $content ) {
    global $post;
    if ( ! is_feed() && is_singular() ) {
        $copyright = "\n" . '<div class="article_copy-' . $post->ID . '">' . "\n";
        $copyright .= create_copyright_text() . "\n";
        $copyright .= '</div>' . "\n";
        $content = explode( '</p>', $content );
        $max = count( $content );
        $pos = rand( 0, $max - 1 );
        $return = '';
        for ( $i = 0; $i < $max; $i++ ) {
            $return .= $content[$i];
            if ( $i != $max - 1 ) {
                $return .= '</p>';
            }
            if ( $pos == $i ) {
                $return .= $copyright;
            }
        }
        $content = $return;
    }
    return $content;
}
add_filter( 'the_content', 'add_copyright_text2content' );

function add_copyright_style() {
    global $post;
    if ( is_singular() ) {
?>
<style type="text/css">
.article_copy-<?php echo $post->ID; ?> {
    display: none;
}
</style>
<?php
    }
}
add_action( 'wp_head', 'add_copyright_style' );

function create_copyright_text() {
    global $post;
    $author = get_userdata( $post->post_author );
    $author = esc_httml( $author->display_name );
    $date = mysql2date( 'Y年n月j日 H:i:s', $post->post_date );
    $permalink = esc_html( get_permalink( $post->ID ) );
    $site_name = esc_html( get_option( 'blogname' ) );
    $copyright = "<p>この記事は、$dateに$authorによって書かれたものです。 <br />引用を行う場合は、著作権法に定める範囲にて、引用元である{$site_name}の出展元表示と{$permalink}へのリンクを必ず行って下さい。</p>";
    return $copyright;
}

この他にも、画像のsrcを相対指定にすることなども単純にhtmlをコピーするだけではダメなので、ちょっとした対策にはなります。

まあ、フィードの対策は、表示設定の「RSS/Atom フィードでの各投稿の表示 」で抜粋のみを表示にしておくのが一番の対策かもしれませんが。

このブログも本気でコピー防止対策が必要になるくらいにならんかなw

「WordPress向け、初歩的コピーブログ防止対策・・?」への2件のフィードバック

  1. RSS feed 内の画像の src を相対指定にすると、フィードリーダーで見たときに表示されなくて哀しいんですよね。

  2. たしかに、たしかに。
    サイトに誘導する目的であれば、抜粋のみ配信一番かもしれんですね。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です