- HOME
- JavaScript入門
- パスワードリンク
ここではpromptを用いてパスワードを入力してもらい、 秘密のページへジャンプさせる方法について解説してみます。 と言っても、JavaScriptで作るものはお遊び程度なので、 ちょっと知識のある人であれば簡単に見破られてしまいます。 あまり重要なページには用いないようにしましょう。
パスワード入力による移動
では、「abcde」というパスワードを入力すると隠れページにジャンプするソースを書いてみましょう。
<script>
var pw;
pw = prompt("パスワードを入れて下さい。","");
if (pw == "abcde"){
location.href = "kakure.html";
}else{
alert("パスワードが違います!");
}
</script>
サンプル(別窓)
スクリプトの解説
var pw; pw = prompt("パスワードを入れて下さい。","");
ソースを見ていきましょう。最初に変数pwを宣言しています。 そしてpromptでインプットダイアログを出し、パスワードを入力してもらいます。 入力された文字は、変数pwに代入されます。
if (pw == "abcde"){ location.href = "kakure.html"; }else{ alert("パスワードが違います!"); }
次にif文で、pwがパスワード「abcde」と等しいかチェックします。等しい場合はlocation.hrefで隠れページに移動し、等しくない場合はアラートを出します。
しかしご覧の通り、ソースを見るとパスワードも隠れページのURLもバレバレです。外部ファイルに記入すれば少しはマシですが、ちょっと知識のある人であれば外部ファイルを覗けますからあまり意味がありません。では、もう少しバレ難い方法について調べてみましょう。
バレ難いパスワード移動方法
ここで紹介する方法は、 私がJavaScirptを勉強した「イヌでもわかるJavaScirpt」で紹介されていた方法です。 なかなか考え抜かれた方法だと思います。
<script>
var pw;
pw = prompt("パスワードを入力して下さい。","");
if (pw != "")
location.href = pw+".html";
</script>
サンプル(別窓)
promptでパスワードを入力してもらうまでは同じです。 違うのは飛び先指定の所で、 「パスワードの文字+拡張子」が飛び先URLになっています。 これだとソースを見てもパスワードがバレることはありません。 当然隠れページはパスワードと同じファイル名になります。 (パスワードが「abcde」なら、隠れページはabcde.htmlとします)。
まあこれで完璧なように見えますが、 実際はフリーの解析ソフトなどを使っても隠れページが見つかったりすることがあります。 遊び程度に用いるのが無難でしょう。