先日、他人のブログの記事を転載するブログが話題になりました。
こういうパクリコンテンツの話題はまぁぐるぐると回ってある程度のサイクルで挙がってくるものですね。

そういったコンテンツは画像を直リンクするようなところが多いので、その場合にすぐにできる対策といえば画像の直リンク禁止。

別のサイトから呼び出せなくすれば、これまでの転載コンテンツの画像がすべて見れなくなり、かなりの効果が期待できます。
しかし画像の直リンクを禁止してしまうと、RSSリーダーやキュレーションサービスなどのウェブサービスで、画像を直リンクしているサービスがあった場合、そういったウェブサービス上で画像が表示されなくなってしまいます。
これでは定期的な購読が見込めSNSで拡散してくれるかもしれない読者の利便性を下げてしまいます。

じゃあどうすればいいのか

こういった不正対策は基本的にいたちごっこでしかありません。対策されたことの対策をしてくる。諦めるのが早い。

と、いうのもあれなので悪あがきしましょう。
「拒絶する」ことを選ぶことはメリットがありますが、デメリットもつきまとってきます。

全てを拒絶するのは最終手段で、ここはホワイトリスト方式かブラックリスト方式で対策します。

ホワイトリスト方式で拒絶

ホワイトリスト方式とは、一部の条件下だけ許す方法。
自分のサイトだけ許すのもホワイトリスト方式ですね。それ以外にも例えばFeedlyなど有名なサービスだけ直リンクを許可するわけです。

ブラックリスト方式で拒絶

ブラックリスト方式とは一部の条件下だけ拒絶する方法。どこからのアクセスかがわかる場合はこれも有効。ホワイトリスト方式では本来必要とするアクセスまで拒絶してしまう可能性がありますが、ブラックリスト方式ならその心配はありません。

しかし相手が条件を変えるとブラックリストから逃れられるため攻撃する側の対策も簡単。
そのため相手の対策にあわせて、こちらも対策・・・を繰り返します。熱い攻防戦が楽めてオススメです。

最初はブラックリストから

かなり手間ですが最初はブラックリスト方式で、どうしようもなくなったら方式を考えなおすのがオススメ。

画像以外のコンテンツを防ぐには?

画像へのアクセスを拒絶できても、これから更新される未来の記事の文章はパクられ続けてしまいます。

文章の転載も拒絶できればいいですが、これがなかなか難しいところ。
転載コンテンツがどういった仕組みで動いているかを考えないといけません。
冒頭で書いた転載コンテンツを例にあげてみましょう。

相手の仕組みを知る

冒頭であげた転載サイトは、礼儀正しくどうやって記事をコピーしてるかの痕跡を残していました。

そこから推測するに、http://fullrss.net/を利用して、RSSフィードからコンテンツをコピーしていたようです。
fullrss.netは名前の通り、本文が省略されているRSSフィードでもURLを辿って全文を取得してくる厄介なツール。
RSSフィードの配信をやめれば転載を防げますが、それをしてしまうとRSSリーダーで読めなくなってしまいます。
こういった時はブラックリスト方式が有効です。
特定のサービスでのみRSSフィードを読み込めなくします。

こういったスクレイピング(データの一部を取得する)ようなサービスは、人間が手作業で転載しているわけではなく、指定されたサイトのRSSフィードをクローラーと呼ばれるロボットが読んで情報を盗んでいくものが多い。
行儀の悪いサービスがあればそのクローラーを拒絶すればいいのです。
公開されているサービスなら自分で試してみて、どんなクローラーがどこからきているか調べられます。

fullrss.netブロックしてみよう

fullrss.netの場合はwww1090gj.sakura.ne.jpという場所から、fullrss/0.01 (+http://fullrss.net/; like FeedFetcher-Google)というクローラーがやってきます。この条件できたものを拒絶します。

せっかくなのでWordPressでやってみましょう。

こう。

fullrssという情報をもつクローラーがやってきたら、すべての記事の本文がプギャ━━━━━━m9(^Д^)━━━━━━!!!!!!になる。
転載コンテンツとはいえせっかく見てくれたユーザーのために元記事へのリンクもつけてます。
こうすればfullrss.netを利用して転載しているサイトの対策ができたはず。たぶん。このブログは転載されるような有益なブログではないので検証できてません。

※追記
WordPressで高速化などキャッシュ系プラグインを導入しているとキャッシュが優先されてしまい、想定した動作にならない場合があります。

ついでに似たようなサービスも対策できるように

fullrss.netが使えなくなったら、向こうはどうしてくるでしょうか?きっと似たようなサービスを探してそれを使うはず。なのでこちらも似たようなサービスを探して対策しましょうか。

ざっと検索して見つかったのがこちら

各サービスのクローラー情報を見てみましょう。

fulltextrssfeed.com

fulltextrssfeed.com は少し重たいですが、一応動いていますね。
li65-206.members.linode.com という場所から、FTRF: Friendly robot/1.3 というクローラーがやってきます。
さっきのコードにこの情報を適当に追加すれば対策完了です。

FeedWordPress

FeedWordPressはWordPressのプラグインです。プラグインなので簡単に改造できるためあまり効果は期待できませんが、一応追加しときましょうか。FeedWordPressはfeedwordpressというクローラーでやってきます。
どこからやってくるかはWordPressの置かれているサイトからやってくるので無限にあります。
こいつはfeedwordpressの文字をブロックすればokですね。

wizardrss.com

wizardrss.com はというと・・・場所やクローラーの名前が一切わからないようになってました。
クローラーで身分を明かさないのは普通のサービスならやりません。これはブラックリストにいれにくくするためにやっているものかと。

こうなったら、RSSフィードに正体不明のアクセスがあったら拒否するようにしてみます。

RSSフィードにアクセスがあったときは、do_feed()が呼び出されるはずなので、もし正体不明のアクセスがあればそこでシャットアウト。となるはずでしたが、なぜかdo_feed()が呼び出されませんでした(‘A`)

もしdo_feed()が動かない時は、get_permalink()なりですべてのURLを見せなくするとかした方がいいかもしれません。

しかし結局はイタチごっこ

画像も直リンクじゃなく丸々コピーされると直リンク禁止も効果はなくなりますし、結局はどんな対策をしようとイタチごっこなんですよね。
既存の取得サービスで記事が取れなかった時点でやめてくれるかもしれませんが。
検索エンジンやSNSだけじゃなく、こういったサイトの対策も必要かもしれませんね。

何か一言あれば!!

質問とかツッコミとかお気軽にコメントしてください。がんばって返します。

コメントを残す

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

2 件のコメント

  1. ピンバック: 「直リンク呼び出しとRSS取得のお話 | アンギス」をメモ | ウェブシェフ(uzziy)

  2. ピンバック: 【WordPress】びっくりするほど簡単!数秒でパクリサイトを作る方法と対策 | 実ニキビシイ対策 – ENJIOUT