ある日、アクセスが激減しているサイトの修正をしていると、ミラーサイトを発見。
これが激減の原因じゃないか!ミラーサイトとかふざけやがって!どこのどいつだ!?あぁ!?となっていましたが、よく見ると「linkis.com/サイトドメイン/agea」のようなURLになっています。
これは見たことがあるぞ。
linkis.comについて、調べてみると良く分かりません。Twitterで問題になっているスパムサービスのようで、連携してしまうと、自分がツイートするURLが全てli.is経由に置き換わってしまうらしい。
一応、アクセス解析が出来るとかなんとか…
もう、linkis.comで調べるとスパム!スパム!解除!解除!と祭りになってます。
Twitterのリンクが置き換わるくらいなら、ギリギリ許容できますが、linkis.comのふざけた仕様は、リンク先のサイトをiframeで読み込んでミラーサイトのようになることです。
linkis.comのソースを覗けば、iframeなので厳密にはミラーサイトではありませんが、ヘッダー(メタタグ関連)はまるごとコピーされています。
linkis.comはiframeでサイトを読み込んで自身のコンテンツのように振る舞っているクソッタレなので拒否しておきます。
といっても、似たような仕組みで別サービスが出てこないとも限らないので、iframeで読み込ませないようにしてしまいましょう!
.htaccessで外部サイトからiframeを読み込ませないようにします。X-Frame-Optionsレスポンスヘッダを使用します。Apacheが入ってるWEBサーバーなら大概対応しています。
# iframe表示をすべて禁止にする Header always append X-Frame-Options DENY # iframe表示を同一ドメイン内のみ許可する Header always append X-Frame-Options SAMEORIGIN # iframe表示を指定したドメインのみ許可する Header always append X-Frame-Options ALLOW-FROM http://www.example.jp/
上記のいずれかを.htaccessに記載して終わり!
私の使っているhetemlサーバーでは何故か使えなかったので、下記のPHP・headerでやりました。
.htaccessでうまく効かなかった、動作しなかった場合は、phpで対応できます。
# iframe表示をすべて禁止にする header('X-FRAME-OPTIONS: DENY'); # iframe表示を同一ドメイン内のみ許可する header('X-FRAME-OPTIONS: SAMEORIGIN');
htmlの記述の前に上記のいずれかを載せておけばOKです。
拒否したいページ全てに載せておく必要があるので、.htacessの方が便利が良いですね。
この対策のことを「クリックジャッキング」と言うらしいです。目的としては、外見は無害に見るWEBベージですが、iframeの上に透明のエリアを作り、クリックするとアダルトサイトに誘導してみたり、意図しないツイートやいいね!などのSNSアクションをさせてみたりするとか。
大手のECサイトなんかもクリックジャッキング対策をしているそうですよ。
こんな何にも役に立たないサービス作ってる輩に天罰が下ることを心から願っています。