tumblrの画像転載をはじくhtaccess
タンブラ拒否.htaccess
猫かわいいですね。というのは置いておいてtumblr絡みは傍観してたのだけど、なんとなく面白かったので思わず。
そういえばブックマークの時も似たような話は出てたな「まずは自衛しろ」(※1)と。考えてみれば結構有効な対策なのだ(もっとも敷居が高いのが難点だが)
まあ、これをやってしまうとそういうのをやる人だという見方が付いてしまうが、これがどういうことを意味するかは状況次第かな?
レンタルサーバーやFTP(SSH)でファイルを上げるタイプのサービスを使っているサイトなんかはこれでとりあえず防げますね。(手動でのコピーは防げないけど)
Blogサービス系はオプションで設定できるようにすると面白いかも。URLやユーザーエージェント部分を変更できるようにすればtumblr以外も対応できますしね。ん?これって要はブラックリスト機能か?
実はrobot.txtとかで対策できるともっと簡単なのかなぁとも思ったり。Google等の検索サイトなんかをはじく仕組みですね。もっともこちらの場合はtumblrみたいなサービス側が対応してないと意味ないけど、今後はこういうのに対応するのもシステム側のモラルかもしれない。最終手段としてHTMLのヘッダのMETAタグというのも考えられますね。これなら大概のサービスで使えるでしょうし。
取り上げるだけだとなんなので「htaccess」について軽く解説
(下のほうに実際に試してみた例あり)
htaccessはapacheというウェブサーバーで使える機能です。名前の通りサイト(ページ)へのアクセスを許可したり制限したり転送したりできます。今回は特定のサーバーからのアクセスに対し、本来とは違うページを返しています。
htaccessは設定の書かれた「.htaccess」というテキストファイルをサーバーのディレクトリに置くことで機能します。ファイル名の頭に「.」(※2)がついている点に注意してください。
サーバーのディレクトリになんらかの方法(FTPやSSH、ブラウザ経由)でアクセスできないと使えません。またhtaccessという機能を禁止している場合も使えません。まあ、禁止しているサーバーを僕は使ったことありませんのでそういうサーバーがどこにあるのか知りませんが。
というわけで上のページの内容は「.htaccess」というテキストファイルに記述、または追記してサーバーのディレクトリに上げることになります。すでにある場合は既存の設定を上書きしない様にいったん取得して追記する必要があります。
ちなみに「.htaccess」というファイルはWindowsのエクスプローラーでは作れません。まず「htaccess」という名前で作成し、コマンドプロンプトにてmoveコマンド(移動コマンドだが名前変更もできる)で名前を変更してあげる必要があります。とりあえず実際に試してみました。
作成例
1~4の作業は新規に作成する場合です、すでにある場合はサーバーから取得したものに対して作業します。
また、作業環境はWindowsXP、レンタルサーバーはさくらいんたーねっとのスタンダードプランです。(FTPの部分は本当はWinSCPでやっています)
1.エクスプローラーの右クリックメニューの「新規作成」>「テキストドキュメント」で「htaccess」というファイルを作成。
2.スタートメニューの「すべてのプログラム」>「アクセサリ」>「コマンドプロンプト」を起動(またはスタートメニューの「ファイル名を指定して実行」でcmdと打ってエンター)
3.作成したディレクトリに移動(個人の趣味でいつもDドライブのテンポラリに作成しています)
d:
cd d:\home\administrator\tmp
4.リネームします。以後は普通のテキストファイルとして扱えます。
move htaccess .htaccess
5.先のページの内容(最初の#から最後の[L]まで)をテキストエディタ等で「.htaccess」に追記します。なお、WordPressを使っている場合はたぶん「RewriteBase /」の記述がすでにあるためサーバーエラーになると思います。「/notumblr/」の部分を「notumblr/」に書き換えてください。
それと「filesmatch」を使う方法はこちらの環境(さくらのスタンダードプラン)ではうまくいかないので18日に公開されているsample1.zipの方法で実施しました(なんで駄目かは後で調べてみよう)
ちなみに「<ifmodule mod_rewrite.c>」と言う記述がある場合もあると思いますが、その場合は中に書いてあげたほうがよいです。もしくは「<ifmodule mod_rewrite.c>~</ifmodule>」をもうひとつ用意して「~」の部分に記述するのが綺麗かと、僕は最後のやり方でやっています。こんな感じです。まあ、微妙に気になる部分もあんですが・・・(長いのでコメント部分は省略)
# BEGIN WordPress
<ifmodule mod_rewrite.c>
RewriteEngine On
RewriteBase /
中略
</ifmodule># END WordPress
<ifmodule mod_rewrite.c>
RewriteEngine On
RewriteBase /RewriteCond %{HTTP_REFERER} tumblr.com [NC]
RewriteRule ^.* notumblr/notumblr.htm [L]RewriteCond %{REQUEST_FILENAME} \.(gif|jpg|png)$ [NC]
RewriteCond %{HTTP_USER_AGENT} ^Tumblr
RewriteRule ^.* notumblr/notumblr.png [L]RewriteCond %{HTTP_USER_AGENT} ^Tumblr
RewriteRule ^.* notumblr/index.htm [L]</ifmodule>
6.FTPでサーバーの公開ディレクトリ(public_htmlとかwwwとか)のTOPに転送します(テキストファイルなのでアスキーモード転送です)
7.tumblrのリンクからきた場合に表示するページ「/notumblr/notumblr.htm」と禁止画像「/notumblr/notumblr.png」とブックマークレット用の「/notumblr/indexr.htm」用意します。中身は一般的なページか画像であれば別に何でもよい。
8.確認
試しにtumblrでリンクおよび登録してみます。用意したページや画像が出ればOK。うまくいかない場合はキャッシュの可能性もあるのでCtrl+F5で強制更新するかキャッシュを消してみてください(ブックマークレット用の設定は現在確認できてないので後で確認)
以上、間違いがあれば指摘してくれるとうれしい。なんか質問あればコメントで。可能な限り答えます。
「htaccess」の内容のより詳しい説明は以下を参照(単に検索サイトでトップに来たページですが)
.htaccess実践活用術
3番と6番、12番あたりが関連です。
最後に個人的なtumblrに対する思いとしては、そこに何らかの創作もしくはデータベース的(こっちも重要だと思う)な価値がないと擁護できないかな。価値があるとしても、権利者の思いは汲むべきかと。その辺りは同人と同じじゃないかなぁと。
あと、過去ずっと完全オリジナル創作でやってきた人なら、この系統のシステムに載せるのは駄目だという権利があると思う(もっとも現状、誰も駄目とは言ってないと思っていますが、へこむとは言ってるけど)、そうでない人はなんとか共存、もしくは自衛(勧告含む)の方向で行ってもらいたいかな、難しいとは思いますが。できればサービスをつぶす方向ではなく、よりよくする方向を望みます。あまりこの手の技術で禁止禁止とやっても、切ないですしね。もっともサービス側の対応が悪くて自滅する分には淘汰ということでいいともいますが。
ちなみにこのサイトの著作権自体は放棄することはないですが、節度を守ってもらえれば魚拓や転載、紹介とかOKです。紹介とかはむしろうれしいですがw
もっともたいした著作物ではないところが・・・。まあ、将来それくらいの価値が出るようになるといいなぁと。
でも一度出してそれ相応の理由で引っ込めたものはできれば勘弁を、絶対駄目だとはいいませんが・・・
ただし、サイト内の他人の著作物はそちらの著作者の意思に従ってください。
※1
ちょっと違うかも知れませんが、インターネットの公開物はガラスケースには入っているけど鍵のかかっていない展示物状態に近いのかな、鍵が付けられるのに付けないのは無策すぎますよね。規模が小さい状態ならある程度信頼でいいかも知れませんが、ここまで広がっているともうね。鍵くらいつけておいたほうがいい。もっとも鍵がないから盗んでいい、というものでもないのは現実と同じですが。
※2
Unix系のOSはファイル名の頭に「.」がついていると隠しファイルになります。
lsコマンド(ファイルをリスト表示するコマンド)を単に打つだけでは表示されません(-allオプションをつけると表示されます)
Place your comment