初めてのワードプレス(15)画像の直リンク禁止と自動コピーサイト作成阻止法(.htaccessで出来る盗用対策)

月島西仲通り商店街の夏 1

(記事公開:2017年8月30日、最終更新:2018年2月4日)

.htaccessを使ってできる、サーバー側での盗用対策です。

画像の直リンク禁止は、サーバー上にある画像を他サイトで表示させるのを禁止するもので、Googleの画像検索に載せたくない場合にも使えます。

各種技術(GoogleAppEngine、FeedWordPress)を用いた自動コピーサイトの作成を阻止する方法についてもご紹介しています。

 

※2018/2/4追記:記事公開時に使っていたサーバー(mixhostに準拠して記載していましたが、その後サーバーによって記載方法が異なることが確かめられたため、もう一方の記載方法(さくらインターネット、スターサーバーを追記しました。

 

写真:「2010年夏、東京にて」(2011年8月掲載)より、「月島西仲通り商店街の夏 1」
撮影地:西仲通り商店街二番街(東京都中央区月島1丁目)

 

目次
1.画像の直リンク禁止
2.GoogleAppEngineを悪用したコピーサイトを阻止する方法
3.プラグインFeedWordPressを悪用したアクセスを拒否する方法
4.設置方法

 

1. 画像の直リンク禁止

(1)さくらインターネット、スターサーバー(ネットオウル)の場合[Apache]
※mixhostで下記コードを記載すると、画像が一切表示されなくなります。ご注意を!

<Files ~ "\.(gif|png|jpg|jpeg|JPG)$">
SetEnvIf Referer "^http(s)?://yourdomein\.com/" OK
SetEnvIf Referer "^http(s)?://example\.com/" OK
SetEnvIf Referer "^$" OK
order deny,allow
deny from all
allow from env=OK

・直リンクを許可するURLを記述します。
・ドメイン名はご自分のサイト名に置き換えて下さい。複数指定可能です。

 

(2-1)mixhostの場合
※スターサーバーで下記コードを記載しても無効です(実害はありません)。

RewriteEngine on
RewriteCond %{HTTP_REFERER} !^http(s)?://yourdomain.com [NC]
RewriteCond %{HTTP_REFERER} !google\. [NC]
RewriteCond %{HTTP_REFERER} !yahoo\. [NC]
RewriteCond %{HTTP_REFERER} !bing\. [NC]
RewriteCond %{HTTP_USER_AGENT} !(twitter|facebookexternalhit|google) [NC]
RewriteRule .*\.(jpg|jpeg|gif|png|bmp|JPG)$ - [F,NC]

RewriteEngine onの後に、直リンクを許可するURLを記述します。

・2行目のyourdomain.com の部分はご自分のサイト名に置き換えて下さい。
複数ある場合は改行して下さい。ここではGoogle等の画像エンジンとTwitter・Facebook・Googleplusを許可しています。許可したくない場合は削除して下さい。

最後にRewriteRule .*\.(jpg|jpeg|gif|png|bmp|JPG)$ - [F,NC]と記述することで、画像への直リンク時にエラーが出る設定です。()内の拡張子の部分を変更・追加することで、例えばpdfなどへの直リンクも禁止できます。

別の画像(コピー禁止の警告画像)を出したい場合は、下記をどうぞ。

 

(2-2)応用編:直リンクされた場合に別の画像に差し替える方法(mixhost)

RewriteEngine on
RewriteCond %{HTTP_REFERER} !^http(s)?://yourdomain.com [NC]
RewriteCond %{REQUEST_URI} !^http(s)?://yourdomain\.com/wp-content/uploads/nocopy\.jpg$
RewriteRule \.(jpg|jpeg|gif|png|bmp|JPG)$ http(s)?://yourdomain.com/wp-content/uploads/nocopy.jpg [NC,R,L]

コピー禁止の警告画像をあらかじめ作っておき(ここではnocopy.jpgとします)、ワードプレスのメディアライブラリにアップロードしておきます。

ワードプレスだと、画像は「サイト名/wp-content/uploads」の中に置かれるのが通例なので、どこにアップロードされたか、メディアライブラリでその画像を見て画像URLをメモしておき、上記の3行目~4行目は適時置き換えて下さい。

2行目~4行目のyourdomain.com の部分はご自分のサイト名に置き換えて下さい。

()内の拡張子の部分を変更・追加することで、例えばpdfなどへの直リンクされた場合に別の画像等に差し替えることもできます。

 

(2-3)当サイトの場合

RewriteEngine on
RewriteCond %{HTTP_REFERER} !^http(s)?://katata.info [NC]
RewriteRule .*\.(jpg|jpeg|gif|png|bmp|JPG)$ - [F,NC]

※Google等の画像検索は禁止、SNS(twitter等)への画像直リンクは禁止しています。
※検索エンジン対策として、クロールしてもいい範囲をrobots.txtで別途指定しています⇒robots.txtの作成と設置方法

 

(2-4)mixHostを使っている場合の直リンク禁止設定方法

サーバーでmixHostを使っている場合は、ログイン⇒cPanel⇒「セキュリティ」の箇所にある「ホットリンク保護」をクリック。

デフォルト(標準)では無効になっているので、有効化すればOKです。.htaccessに自動的に直リンク禁止の設定が書き込まれます。

mixhost-hotlink

 

2.GoogleAppEngineを悪用したコピーサイトを阻止する方法

GoogleAppEngineというサービス(技術)を悪用して、コピーサイトが作られてしまうことへの対処法です。

 

(1)さくらインターネット、スターサーバー(ネットオウル)の場合[Apache]

SetEnvIf User-Agent ".*AppEngine-Google.*" deny_ua
order allow,deny
allow from all
deny from env=deny_ua

(2)mixhostの場合(参考:How to block Google App Engine?およびUser agent DB

RewriteEngine on 
RewriteCond %{HTTP_USER_AGENT} ^AppEngine-Google [NC]
RewriteRule ^(.*)$ - [F,L]

 

GoogleAppEngineを使うと、「http://パクリサイト名.appspot.com/あなたのサイト名」というサイトが作られます。例えば当サイトだと、http://パクリサイト名.appspot.com/katata.infoですね。←これは、実際に他の運営サイトでやられたことがあります。

GoogleAppEngineについて等(専門的な話)は、技術者の方のブログでどうぞ。
GoogleAppEngineを用いたGoogleProxyHackingから身を守れ!NOW!NOW!NOW! の巻|TrippyBoyの愉快な日々

実際に被害に遭った方の体験談。とても参考になりました。
amort141.appspot.comによるコピーサイトに対策する方法|Everyday is like Sunday

 

3.プラグインFeedWordPressを悪用したアクセスを拒否する方法

FeedWordPressというプラグインを悪用して、Feed(更新情報)をいち早く丸パクリしてコピーサイトを作ってしまう・・・人がいるんですね。当ブログではこの手の方法で、旧サイトの2015年8月の記事を丸ごとコピーされたことがあります。

「ブログ移転します(2015年8月)」の記事までコピーされたのですが、パクリサイトから早々に訪問してくれた方がおられたことで、参照元をたどって被害が発覚しました。みなさまご注意を。

 

(1)さくらインターネット、スターサーバー(ネットオウル)の場合[Apache]

SetEnvIf User-Agent "FeedWordPress" deny_ua
order allow,deny
allow from all
deny from env=deny_ua

下記のように複数記述することもできます。(参考:htaccessでSetEnvIf:ディレクトリを跨いでも有効。正規表現や複数のor条件をまとめる

ただし、数が多くなるとサーバーに負担がかかり500エラー(内部エラー)が発生しますので、ご注意を!私の場合は5,6個程を原則通り一つずつ書いて様子見しています。

SetEnvIf User-Agent "^(AhrefsBot|AppEngine-Google|FeedWordPress|MJ12bot|YodaoBot|Wget)" deny_ua
order allow,deny
allow from all
deny from env=deny_ua

 

(2-1)mixhostの場合
(コード出典:ブログ丸パクリプラグイン FeedWordPress からのアクセスを拒否するために .htaccess を設定し、自分のサイトを守ろう|NJ-CLUCKER

RewriteEngine On
SetEnvIfNoCase User-Agent "FeedWordPress" ua_key=on
RewriteCond %{ENV:ua_key} on
RewriteRule ^(.*)$ - [F,L]

(2-2)応用編:GoogleAppEngineと併せて記述する場合、下記のようにまとめて構いません。

RewriteEngine on 
RewriteCond %{HTTP_USER_AGENT} ^AppEngine-Google [NC,OR]
RewriteCond %{HTTP_USER_AGENT} ^FeedWordPress [NC]
RewriteRule ^(.*)$ - [F,L]

RewriteCondの最終行が[NC]で終わるのがポイントです。

 

(3)注意点:この記述は読み込みの関係で、Wordpressの基本形(以下の記述、# BEGIN WordPress# END WordPress)より上に記述するのがポイントです。

# BEGIN WordPress

RewriteEngine On
RewriteBase /wp/
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /wp/index.php [L]

# END WordPress

注:# BEGIN WordPress以下の記述はwpという名前のフォルダにWordPressを入れた場合です。サイトによって異なりますので、ご自分のサイトに置き換えて下さい。

 

4.設置方法

WordPressをインストールしたルートフォルダ(例えばwp)を開き、.htaccessファイルに追記して下さい。

root-folder

.htaccessファイルの作成方法とアップロード方法は、下記記事で掲載しています。
初めてのワードプレス(10).htaccess/TeraPad/FTPソフト

 


 

次回は、検索エンジンに画像等のクロール範囲について詳細に指示する方法(robots.txtの記載と設置方法)です。

 


◆初めてのワードプレス(全20回)目次

1)独自ドメイン取得
2)レンタルサーバーの選び方(必要な条件やスペックを考えてみた)

3)サーバーを借りた後、何をどうすればいいか(手順)
4)WordPressをインストールする

5)Edit Author Slugでユーザー名を非表示にする
6)メンテナンス中表示にするComing Soon Page & Maintenance Mode by SeedProd

7)高機能プラグインJetpackの設定方法
8)Akismet Anti-Spamの設定とAPIキー取得方法

9)ワードプレスの設定とテーマの変更・カスタマイズ
10).htaccess/TeraPad/FTPソフト

11)WordPressをドメイン直下に表示する方法
12)固定ページの作り方/レイアウト/メニュー表示(問い合わせページを例に)

13)WordPressを使った写真ブログの作り方
14)訪問者に配慮しつつ画像文章の盗用対策になるプラグイン3選

15)画像の直リンク禁止と自動コピーサイト作成阻止法(.htaccessで出来る盗用対策)(今回)
16)検索に表示したくない画像がある場合の対処法(robots.txtの作成と設置方法)

17)検索エンジンに登録する方法(XMLサイトマップとGoogle Search Console活用法)
18)入れておくといい基本的プラグイン20選

19)圧縮とキャッシュの設定、ログイン画面にアクセス制限をする(.htaccessで出来るSEOとセキュリティ対策)

20)今後の注意点6選(更新・PHPバージョン・バックアップ・パーミッション変更・WordPressの基本形・データベース接続確立エラー)

 

◆番外編(画像4600枚超える写真ブログ、10年目の試行錯誤)

写真ブログの画像だけMixHostから別サーバー(スターサーバー)に移してみました(2017/9/5)

スターサーバーで無料の独自SSLを設定した手順(ネットオウル提供のサブドメインでも可能)(2017/9/5)

レンタルサーバーの話(2017年夏):ロリポップ!無料独自SSL対応、エックスサーバーSSD採用、そしてスターサーバー統合(2017/8/11)

写真サイトに使えそうな新しい独自ドメインが次々登場~.camera.photoから.studioまで(2017/7/3)

10年続く写真ブログ、サーバーをファイアバードからmixhostへお試し移転中です(2017/6/30)

 

◆無料ブログからワードプレスへの移転(無料ブログ側の設定)

無料ブログからWordPressへの確実な引越し~リダイレクトできない無料ブログで行った3つのこと

 

にほんブログ村 写真ブログ 地域の歴史文化写真へ にほんブログ村

滋賀県ランキング



コメントを残す

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

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)