キャッシュファイルを残さないようにするには?BIGLOBE光に入会した方全員に無線LANルータを無料。
「JavaScriptを外部ファイル化する(JSファイル編)」という項目の中で外部ファイル化しても、その外部ファイル化したファイルのURLを直接たたけばダウンロードできてしまうという話を書きました。それで外部ファイルをCGI化して、refererのチェックでダウンロードできなくしようということでやったのが「JavaScriptを外部ファイル化する(CGI編)」の項目でした。直接URLをたたいた場合、「You can not access the file directly.」というエラーメッセージを表示させるやり方です。しかし、実はそのようなやり方をせずとも、Windows版IEからは外部ファイルをダウンロードできないようにしているサイトがあります(意図的かどうかは分かりません)。外部ファイルのURLを指定すると、右の画面キャプチャーのようなエラーが表示されます。「Internet Explorerでは、○○○(サイトのURLやファイル名)をダウンロードできません。このインターネットのサイトを開くことができませんでした。要求されたサイトが使用できないか、見つけることができません。後でやり直してください。」というメッセージが表示されるのです。 【広告】 ADSL40M対応プロバイダ--キャンペーン情報活用術
いろいろ調べた結果、ヒントになるサイトを見つけました。「つ∞たんのじゃっば〜ん」というサイトです。このサイトの説明によりますと、Windows版Internet Explorerではバグのためなのか、「https(SSLで保護された接続)でアクセスするContent-typeがtext/html以外のオブジェクトがPragma: no-cacheをヘッダにセットしている」とこのエラーメッセージが表示されるそうです。
早速試してみました。こちら(かなり昔の当ホームページのトップページの暗号化のため、今のトップページとは違います。)です。ソースを見ていただければ分かりますが、js_b.phpという外部ファイルを設定しています。js_b.phpは 【広告】 こんなソフトがあったんだ! PDF保存対策なら「SHTML PDF保護モード」 これはWindows版Internet Explorerだけの機能(?)なので、ネットスケープやMacではjs_c.phpの中身をキャッシュファイルから復元することは可能です。圧倒的シェアを誇るWindows版IEだけでも抑えることができれば、かなり上等なので使える方法かもしれません。なお、冒頭で述べました「外部ファイルがダウンロードできない」サイトの目撃例ですが、ここで紹介した方法とは違う方法でやっているのかもしれません。少なくとも見た目はhttpsプロトコールで外部ファイルにアクセスしているわけではないようです。ただ、refererのチェックはしていないために、URLの頭に「view-source:」を付けるとWindows版IEでもソースをダウンロードできました。 また、HTMLファイルがhttpプロトコールで、外部ファイルはhttpsプロトコールでと混ぜて使っていると、一部のブラウザもしくは設定如何によっては、「要求したドキュメントは保護されていますが、保護されていない情報を含んできます」みたいなメッセージが表示されることがあります。ですので、使い方には注意が必要です。あくまでも、こんな手があるかもしれないという「たたき台」的なアイデアです。 それでは、次に、今までいろいろ検証してきたことを元に、「HTMLソースを隠すことによる応用例」を考えてみましょう。
連絡先:info@broadband-xp.com (免責事項)このホームページの内容に起因する如何なるトラブルに対しても責任を持ちえません。必ず自己責任でご利用ください。 【広告】htaccess実践活用術 【広告】アダルトサイトからの架空請求詐欺にご注意を |