5-1.アップすると他人にもアクセスされる

普通にサーバーにアップロードすると公開したことになる

samplejpg

本サイトでゲームの作り方を覚えた人の中には、自分や友人が遊べるようにするためだけに、サーバーにゲームをアップしたい、という人もいるかもしれません。 しかし、何も考えずにサーバーにデータをアップすると、いつの間にか他人にアクセスされていた、という事も起きえます。

本節では、アップロードしたゲームを他人からアクセスされたくない場合にはどのような対処を行うべきか、について簡単に説明します。 ただし、どのような対処を行ったとしても、他人からアクセスされる可能性を完全にゼロにすることは出来ません。

リンクを張らない

アップしたページにアクセスされたくない場合には、そのページへのリンクを既存のページには一切張らないようにします。

リンクを張らなかった場合、アップしたファイルのURLは暗号と同様の効果を持ちます。 そのURLを知らない人は、膨大な数のランダム施行を繰り返さない限り、そのURLには辿り着けなくなるからです。

ただし、それらしい名前のファイル名でアップした場合には、簡単にURLを推理されてしまう可能性があります。 このため、HTMLファイルのファイル名はランダムな数字の羅列のような意味の無いモノにしておいた方がより安全になります。

念のためにmetaタグも入れておく

既存ページにリンクを張らない場合、通常は検索エンジンのロボットもそのページには行き着けないため、そのページが検索結果に表示される事もありません。

しかし、あなたがそのページにアクセスした場合、インターネット上の何処かのサーバーには、そのアクセスログが残ります。 通常はそのログ情報にロボットはアクセス出来ない筈ですが、万が一アクセスされた場合には、そのページへの巡回も行われる事になるかもしれません。

このため、念のために、HTMLページのヘッダに以下のmetaタグを追加しておくと、安全性が増します。

<meta name="robots" content="noindex">

上記のタグは、このタグのあるページは検索結果には表示しないように、という要求になります。 このため、通常は、ロボットに巡回されたとしても、このタグのあるページが検索結果に表示される事はありません。 ただし、この要求は無視される場合もあります。

パスワードを付ける

アップしたページに万が一アクセスされたとしても、そのページにパスワードが設定されていれば、そのパスワードを知らない他人はそのページの内容を見ることは出来なくなります。

このため、パスワードの設定は他人からアクセスされたくないページをアップロードする場合には有効な方法になりますが、プロバイダやレンタルサーバー業者が提供している無料ホームページでは殆どパスワードの設定は行えません。

パスワード設定に似た機能はJavaScriptでも作成できます。 JavaScriptを使えば、プログラムの開始時に入力フィールドを表示し、正しいパスワードが入力されない限り、次に進まないようにしておく事ができます。 このような入力が要求されれば、たまたま、あなたのページに辿り着いたアクセス者の多くは他のページに行く事になる筈です。

ただし、このような擬似的なパスワード機能は、その気がある人には簡単に回避されてしまいます。 JavaScriptのページをダウンロードし、パスワード機能を削除した後、ローカル環境でそのページを閲覧すれば良いだけだからです。

ページを暗号化する

JavaScriptを使えば、暗号化されたコードを復号してから実行させる事も可能です。 また、画像表示をCanvasに対して行う事にすれば、画像データについても暗号化してサーバーにアップし、復号してから表示することが出来ます。

このため、データを暗号化した上でサーバーにアップすれば、万が一アクセスされたとしても、暗号解読用のキーワードを知らない他人にはマズ内容を見られる事は無くなります。

ただし、2011年1月時点では、Firefox4.0には「Audio Data API」というAPIが存在し、暗号化された音声データを復号してから再生する事も可能ですが、他のブラウザにはこのAPIが存在しないため、Javaアプレット等を併用しない限り、音声データについては暗号化する事が出来ません。

結局どうすれば良い?

色々と書いてきましたが、どのような方法を採ったとしても、サーバーにアップしたデータを他人にアクセスされてしまう可能性はゼロにはなりません。 このため、一番確実な方法は、他人にアクセスされると困るデータはサーバーにはアップしない、という事になります。

ただし、他人に見られたくない理由が、他人からプログラムについて色々と言われたくない、という事であれば、前述のJavaScriptによるパスワード機能を入れる所までやっておけば十分だと思われます。

他ページからのリンクは張らず、検索エンジンに対して検索結果への表示を拒否し、かつ、パスワード機能まで入れている、ということは、他人にアクセスさせるつもりは無い、と、明言している事になります。 ここまでやっておけば、そのパスワード機能を破ってアクセスした人が何か言ったとしても、世間から非難されるのはその人になる筈です。