【無断転載対策】ブログ記事をパクらせないための対策を仕込み、ようやく転載されなくなった

2015/09/11

pakuri-dame-zettai-3-01

NJ-CLUCKRE の記事が無断転載されていることに気付いたのが、今から 2週間前です。運営者に直接連絡する術も無く、直リンクの画像を入れ替えてみたり、無理矢理スクリプトファイルを埋め込んで、それごとパクらせて正しく画面表示出来ないようにする等、小手先での対応を行ってきましたが、この度めでたく記事をパクらせないように制御することができたので、その最終報告となります。

これまでの経緯は過去の記事をご覧ください。

ブログ記事がソースごと丸パクリされる悲しい出来事があったので対策してみました
2010 東京オリンピックのロゴのパクリ問題が熱冷めやらぬ昨今ではありますが、当ブログもパクリ被害にあう事件が起こってしまいました。たまたまこのブログの記事の...
【パクリサイト対策】投稿内に対策用の Javascript を仕掛けておいたら、予定通り丸パクリしてくれた
以前のエントリーで、ブログの投稿内容が関西弁に変換され top-news.red に丸パクリされ無断転載しているとお伝えしましたが、その続報になります。 ...

RSS フィード情報を変更して様子を見た

このサイトは WordPress で運用しているのですが、以前までフィードの設定を全文表示にしていました。一度、抜粋に変更してみたところ、抜粋の状態で転載されることが判明しました。記事の内容が中途半端な状態で掲載されていたので、RSS や Atom のフィード情報を元に投稿する仕組みがあるのだろうと判断しました。

WordPress のフィードは投稿内容を更新しないと切り換わらない

WordPress のフィード情報を全文から抜粋へ変更するには [設定] → [RSS/Atom フィードでの各投稿の表示] から「抜粋のみを表示」を選択します。ただ、このままでは現在取得できるフィード情報は、全文のままなので何か記事を更新すればフィード情報が抜粋の内容になります。

ちなみに僕は function.php を編集することで、抜粋表示から more タグを挟んでいる前半部分だけを出力するように変更しました。

WordPress の RSS をカスタマイズして more タグまでの内容を出力し、元記事へのリンクを追加する方法
WordPress の RSS や Atom のフィード情報の設定は、「全文を表示」または「抜粋のみを表示」の二択となっています。以前、RSS からブ...

抜粋だとしてもそのまま転載されるのは許容できない

抜粋だから転載されても良いなんてことはありません。記事としてそのまま載っている以上、そのまま放置するのも許せません。ただ黙って見過ごすのも嫌なので、この際だから勝手にパクってくれるのを利用して、あれこれ実験してみることにしました。

うぉおおおお!この怒りどこにぶつければいいんだ!!仕返しだコノヤロー!!!

実際に試した仕返し

記事内に無限ループする処理を仕込む

実際にページを開いた人にはやさしくない処理です。前回のパクリ対策用の Javascript の仕掛けを応用したものです。

<span id="unkosite2"></span>
<script>
// ホスト名で処理を走らせるか判断しています
if(location.hostname == "top-news.red") {
  while(true){
    document.getElementById("unkosite2").innerHTML+="んこう";
  }
}
</script>

「んこう」が連続して出力し続けるようになります。「んこうんこうんこう・・・」みたいに。ただ無限ループだと、画面が真っ白になってフリーズしてしまったので、ループ回数を 10,000回にして仕込み直したところ、見事に仕掛けが成功して、画面が大変なことになってしまいました。その画面がこちらです。

pakuri-dame-zettai-3-02

おそらく表示確認も行っていないのでしょうね。我ながら酷い仕掛けなのは分かっています。ひとまずこの実験は、これで成功なので次へ。

大きいサイズのファイルをアップロードする

ソースコードを眺めていたら、唯一トップ画面に掲載する画像のみ自前でアップロードしているのが分かりました。一枚目のアイキャッチ画像を取得しているようなので、一時的に大きいサイズの画像をアップロードさせ、常にその画像を読み込むような仕組みにしました。

最初 3Mbyte 程度の画像ファイルで試したところ上手くいったので、20Mbyte と一気に増量してみたのですが、そちらは失敗してしまいました。成功したら、延々とサイズの大きいファイルをパクらせてアップロードし続けるように仕込むつもりだったので残念です。

仕方がないので、当初行った対策の画像リダイレクト先を、パクリ先のサイトが自前でアップロードしたファイルを読み込むように変更しました。

意味のない酷い文章を投稿する

僕のサイトは固定読者も居ない弱小サイトなので試せる手法です。酷い文章の中身は秘密です。(笑) 単純にこのブログ上に投稿して、転載されたのを確認したら消すだけ。しかし、一時的でも転載される間にうっかりインデックスされてしまうと困るので、そこはインデックスされないように、カスタムフィールドを利用して仕掛けを仕込みました。

WordPress の noindex nofollow の制御をページ単位にカスタムフィールドを利用して設定する方法
WordPress の個別投稿ページや固定ページにおいて、SEO の面で状況により検索エンジンのロボットに対象のページをインデックスして欲しくない場合や、リンクを辿っ...

こんな文章もパクっちゃうのかと思ってしまうような内容でした。自分のサイトにも記事の内容が掲載されてしまう方法なので、リスクを背負った実験でしたが、これはただの自己満足として成功したと言えます。

どのように記事をパクっていたか仕組みが判明

WordPress のプラグイン「FeedWordPress」の痕跡を見つける

仕返し案も尽きたので、最後の対策方法を練るべく Web サーバーのアクセスログを眺めていたところ、気になるログを見かけました。

以下のログの IP アドレスはダミーです。

192.168.11.156 - - [06/Sep/2015:04:50:03 +0900] "GET /feed/ HTTP/1.0" 200 3029 "-" "FeedWordPress/2015.0514 (aggregator:feedwordpress; WordPress/4.2.4 + SimplePie/1.3.1; Allow like Gecko; +http://feedwordpress.radgeek.com/) at top-news.red"

Apache のアクセスログの読み方が分からない方は、こちらを参照してください。

Apache の Web サーバー アクセスログの記載内容を把握してログ解析しよう
一般的なホームページといった Web サイトの作成や、Web アプリを運営していく上で、何か問題が生じたときには、ログを解析する作業が必要になります。全てのア...

おかしなユーザーエージェント情報だったので、調べてみると WordPress のプラグイン「FeedWordPress」を利用していることが判明しました。この FeedWordPress は、RSS 等のフィード情報を元にそのまま WordPress 上に投稿出来てしまうとんでもないプラグインなのです。

FeedWordPress はアンテナサイトを簡単に作れるプラグインとして紹介されるケースが多いですが、アンテナサイトも僕は好きではないので、このようなプラグインがプラグイン検索から簡単にインストール出来てしまうことに苛立ちを覚えます。

パクった記事は投稿前に下書き状態で止まっている?

単にフィードの内容を丸パクリしているのではなく、関西弁へ変換する姑息な手段をとっている同サイトですが、おそらく FeedWordPress から登録されたデータは下書き状態で止まっていて、機会的に関西弁の変換処理を噛ませてから投稿しているように思われます。エントリー内の記事は関西弁ですが、トップページに表示されている概要はパクリ元の記事のままなので、段階的に処理されているのは間違いありません。

FeedWordPress を利用するとどうなるか、ENJI さんのブログに具体的に試した例が掲載されています。

【WordPress】びっくりするほど簡単!数秒でパクリサイトを作る方法と対策

仕組みが分かったら対策するだけ

さあ、いよいよ最終段階です。仕組みが分かればこっちのものです。プラグインによりデータを取得しに来ていると言うことは、つまりパクリ元のサイトの IP アドレスから直接アクセスしているので、その IP アドレスに対して対応をすれば OK です。

IP アドレスでのアクセス拒否はデメリットあり

.htaccess ファイルに該当の IP アドレスからアクセス拒否を設定すれば、もうフィード情報を読み込まれるようなことは無くなります。しかし、おそらく共有サーバーを利用しているため、同じ IP アドレスを利用している他のユーザーにも影響を及ぼしてしまいます。ただ、具体的にサーバー間をアクセスするような処理が無い限り影響はありません。

とは言え、考えに至らない内容で影響を与えても困るので、別な方法で対応することにしました。

対象の IP アドレスからのフィードの取得を拒否する

完全には拒否しませんが、フィードのアクセスだけ拒否する。他に名案が思いつかなかったので、間の子をとった施策となります。しかしただ拒否するだけでは満足出来ないので、次のような仕掛けを .htaccess へ記載しました。

RewriteEngine On
RewriteCond %{REMOTE_ADDR} ^192\.168\.11\.156$
RewriteRule ^feed(.*)$ http://nj-clucker.com/xxxxx.xml [R=302,L]

該当の IP アドレスからフィード情報を参照したら、偽物の RSS ファイルへリダイレクトするようにしたのです。 (IP アドレスと、偽物の RSS ファイルのアドレスはダミーです。)

記載した処理が本当に正しく動いているのか確認したかったので、このような対応を入れました。ついでに、偽物のフィード情報は、誰にも見せられない酷い内容を載せたのでここでは紹介できませんが、偽物フィード情報を読み込んでくれたので、結果は大成功でした。

最終的にはパクリサイトのフィード情報へリダイレクトするように設定したので、これでしばらくは落ちつてくれると良いですが。

対策できても、これで安心ではありません

今回の対応は、IP アドレス指定によるによるフィード情報の差し替えを行いましたが、別の IP アドレスからアクセスされた場合は全く意味を成しません。根本的な対応かと言うと、答えはノーです。単に対象のサイトにパクられ続けるのを停止させるための措置でしかありません。

別のサイトで同じような手法を取られたら、その都度対応が必要になってしまいます。もう少し根底から対応できる方法は引き続き検討をしていこうと思います。

今回のケースは自分のサイトを検索しようとして偶然見つけましたが、実際のところ転載されているなんて気付かないと思います。ただ Adsense 等を貼り替えていたわけでもなく、スマートフォンで閲覧した時にやたら広告が出るような仕掛けになっていました。

他人の記事をパクって利益を得ようなんて、絶対に許されてはならない行為です。

自分が書いた記事と同じ内容の本文とタイトルが検索結果に並ぶのは気分の悪いものです。Google への著作権侵害の申請もまだ一部しか完了していないので、こちらは地道に続けていこうと思います。

以上、ブログ記事を top-news.red にパクられて、仕返しをした上での最終対策を行った結果の報告でした。

【2015.9.14 追記:FeedWordPress 対策の記事を書きました】

ブログ丸パクリプラグイン FeedWordPress からのアクセスを拒否するために .htaccess を設定し、自分のサイトを守ろう
FeedWordPress は RSS や Atom のフィード情報から、自動的に WordPess のエントリーを生成するプラグインです。調べてみると、アン...
2017/01/22

個人事業主の開業届と青色申告の申請書を税務署へ提出!持ち物はマイナンバーカードを忘れずに!

2017/01/21

Chrome に表示された「保護された通信」「保護されない通信」とは?保護されないのは危険なのか?

2017/01/21

Word ファイルから画質を落とさず画像を取り出す方法

2017/01/20

Windows 10 でアプリをアンインストール(削除)する方法

2017/01/20

Windows 10 でデスクトップにマイコンピューターやコントロールパネルを表示する方法

2017/01/20

ファイアーエムブレムヒーローズのダウンロード方法とインストール手順【初期設定】

2017/01/17

青色申告の申請書「所得税の青色申告承認申請書」の書き方!例にならって入力すれば簡単に作成できる

2017/01/16

個人事業の開業届の書き方!例にならって入力すれば簡単に作成できる

2017/01/14

Nintendo Switch のコントローラーの充電方法は?標準の Joy-Con グリップでは充電できないので注意!

2017/01/14

Nintendo Switch の本体容量は 32GB しかない!容量追加はマイクロSDカードを利用する

→もっと見る

Name :
気力/体力勝負なシステム業界で揉まれています。自分が自分らしくあるために、大事なリセット、スタートします。

プロフィール詳細 Twitter @_NJ69_
Facebook ページ nj-clucker.com シェア
このブログが役に立ったら
「いいね!」お願いします
PAGE TOP ↑