ITブログアルケーナム管理人のニッシーです。使って直リンクでデザインをパクるサイトに制裁!他人のサイトのデザインをパクる方法の一つに、「直リンク」という方法があります。この方法で、知らない内に自分のサイトやブログがパクられていたら許せない気持ちになってしまいますよね。今回は、「.htaccess」を用いて、直リンクされた場合に恥ずかしい画像に差し替えたり、CSSやJSを読み込ませないようにして相手サイトのデザインをぶっ壊す方法を見てみたいと思います。直リンクとは?特定のサイトからの直リンクをリダイレクト先ずは特定のサイト以外を受け入れるポジティブなやり方です。直リンクで画像ファイルの盗用があった場合、別な画像にリダイレクトさせます。以下の記述は、「http://pakuri_dorobo.com」というパクりサイトから、自分のサイトが直リンクにより画像が盗用されていたときに、代わりの「kawari_no_gazo」という画像にリダイレクトさせ、パクりサイトのデザインを乱すものになります。[NC]この記述は、「http://pakuri_dorobo.com」からのアクセスに対してだけリダイレクトが働きます。パクりサイトの所在が判っている場合に有効です。画像ではなく、CSSとJSをリダイレクトさせたい場合は、以下のように記述します。この記述の6行目で指定するファイル名にリダイレクトします。[NC]ここで、この6行目のファイル名が「^$」となっており、存在しないファイルを指定しています。「^$」は、正規表現の空文字を表します。したがって、泥棒サイト「http://pakuri_dorobo.com」からのアクセスに対しては、JSとCSSは読み込まれないということと同じ意味になります。各行の説明を簡単にしたいと思います。正規表現について掘り下げることは今回はしません。On.htaccessの始めに記述します。これを省略したり、「Off」と記述していると.htaccessが機能しません。/どのディレクトリから.htaccessの記述を適用するかパスを指定します。ブラウザにページ内容を表示するファイルが入っているディレクトリ(ルートディレクトリ)を表しています。.htaccessが、ルートディレクトリにある場合、この「RewriteBase」の記述は省略してもOKです。!^$HTTPリファラに記述があるときという意味です。「HTTPリファラ」とは、現在のサイトにアクセスする前にどこのサイトにいたのかが記述されている通信データの領域のことです。変数「%{HTTP_REFERER}」は、そのリファラの内容を見るためのものです。正規表現で「^$」が空文字、「!」は「~でない」という否定を表す記号です。「RewriteCond」の「Cond」は「Condition」の略省です。書き換える条件を記述します。[NC]HTTPリファラに「http(s)://pakuri_dorobo.com」と記されているときという意味です。開始するという意味です。区別しない」という意味のフラグ記号です。「.」の前の「\」は、エスケープのために付いています。正規表現において「.」は任意の文字という意味を設定された記号なので、サーバが正規表現における任意の文字として認識してしまうのを防ぐために「\」が添えられています。正規表現的な意味のない文字ですよ、と示すための記述となります。!/kawari_no_gazo\.png$「!」があるので、URL上に「/kawari_no_gazo.png」というファイル名がないときという意味になります。変数「%{REQUEST_FILENAME}」は、入力されたURLに含まれるファイル名を格納しているものになります。ちなみに、「kawari_no_gazo.png」は、「/」がファイル名の前に記してあるのでルートディレクトリに存在しているということです。環境によって画像のあるパスは違うので、その都度に指定してください。」に差し替えよという意味です。」は任意(何でもいい)の文字列から始まる、0文字以上の文字列という意味です。「RewriteRule」は、「RewriteCond」で指定された条件を満たしたときに書き換えを行う記述です。具体的な動きの例それでは具体的にどのように動作するのかを見てみます。以下の画像を、リダイレクト用画像「kawari_no_gazo.png」とします。以下が泥棒サイトの画像とします。□で囲われたところが、リダイレクトされる画像のある箇所です。リダイレクトによって画像が「kawari_no_gazo.png」に差し替わります。直リンクで盗用しているあらゆる画像が「kawari_no_gazo.png」に差し替わります。しても腹立った場合、エ○画像あたりに差し替えても面白いかもしれませんね。自身のサイト以外からの直リンクをリダイレクト次に、特定のサイト以外受け入れないネガティブなやり方を見てみたいと思います。以下の記述は、自身のサイトURL「http://arcanum.work」以外かのアクセスがあった場合、代わりの「kawari_no_gazo」という画像にリダイレクトさせ、パクりサイトのデザインを乱すものになります。[NC]自身のサイトURL以外の直リンクを全て防ぎたいときに有効です。5行目のURLを自身のURLに変え「!」をつければ、自分のサイトURL以外のアクセスのときに画像をリダイレクトします。こちらは、自身のサイトURL「http://arcanum.work」以外からのアクセスのときCSSとJSファイルをリダイレクトするようになっています。[NC]5行目のURLを自身のURLに変え「!」をつければ、自分のサイトURL以外のアクセスのときに画像をリダイレクトします。自身のサイト以外のアクセスを全てリダイレクトしてしまうため、Googlebot(クローラー)もその対象になってしまいます。すると、折角、記事を更新しても検索結果画面にその記事が反映されません。そこで、記述例3や記述例4上の「RewriteRule」の前にクロールのアクセスでないときという条件を追加します。[NC]」を追加することで、この記述は、「自身のサイト」と「Googleのクローラー」のアクセス以外をリダイレクトという意味になります。Google」などを使用したときに、更新記事を正常にインデックスできるようになります。クローラーさんもリダイレクト対象から除外するように注意しましょう。直リンクとは?そもそも直リンクとは、例えば、Aサイトで使用している画像をそのままBサイトでも使用することをいいます。いうと、Aサイトで使用している画像指定用のリンクを、そのままBサイトでも使用するということです。以下は直リンクの例を表しています。直リンクAサイト(A-site.com)で使用しているリンクを、そのままBサイト(B-site.com)でも使用しています。最後に今回は直リンクによるサイトのデザインの盗用に対する措置を紹介しました。自身のサイトを丸ごとダウンロードされたり、CSSと画像をコピーされた場合はパクりに対処できないので、別に対処する必要があります。ITブログアルケーナム管理人のニッシーです。