アクセス制限・認証、サイト内検索

更新日:2004年12月24日

簡単閲覧制限!JavaScriptでパスワード認証

「ホームページでパスワード認証を使ったアクセス制限を施したい」「Basic認証やCGIを使うほどではないけどパスワード認証をしたい」という場合の、JavaScriptを使った認証サンプルを紹介します。

パスワード認証を行うJavaScriptを記述するには

それでは、JavaScriptを使って、パスワードによるアクセス制限を行う方法をご紹介致しましょう。

まず、ソースを全部ご紹介致します。その後で、詳しく解説を行います。
※下記ソース中に、パスワードがどこにも記載されていない点にも注目して下さい。

<script type="text/javascript"><!--
function checkpw(){
   var pswd = prompt("パスワードを入力して下さい:","");
   location.href = pswd + ".htm";
}
//--></script>

<form>
   <input type="button" value="秘密のページへ" onClick="checkpw();">
</form>

パスワード認証JavaScriptソースの解説

上記のソースについて簡単に解説しておきます。
今回のソースは、そのままコピー&ペーストすれば使えるので、記述内容を理解しなくても構いません。 ただ、今後の応用のためにも、一読をお勧め致します。

■最初の6行(<script ...>~</script>)

1行目~6行目で、JavaScriptを記述しています。
2行目の「function checkpw()」で、この3~4行目で記述したスクリプトの名前(関数名)を「checkpw」としています。(※)
※関数名は何でも構いません。apple でも ringo でも。

■var pswd = prompt("パスワードを入力して下さい:","");

3行目では、パスワード入力用のダイアログを表示させています。 「パスワードを入力して下さい」と記述した文字列は、ダイアログ内に表示されます。自由に書き換えが可能です。
※prompt関数の第2引数はデフォルトの値です。ここでは、デフォルトで入力させたい文字列がないので、空白("")を記述しています。

■location.href = pswd + ".htm";

4行目では、ユーザがパスワードとして入力した文字列の後に「 .htm 」という拡張子を加えて、HTMLファイル名を生成し、 そのファイルにアクセス(移動)させています。
※この点については、以下で詳しく説明します。

■最後の3行(<form>~</form>)

最後の3行は、HTML部分です。上記で作成したJavaScriptの関数を呼び出すボタンを作成しています。
※最低限必要なのは、真ん中の input 要素のみです。 しかし、form要素(<form>~</form>)に囲まれていないinput要素を無視するブラウザが存在するために、ここではform要素を加えています。

■<input ... value="秘密のページへ" onClick="checkpw();">

この行で、上記で作成したJavaScriptのcheckpw関数を実行させるボタンを作っています。 「秘密のページへ」という文字列が、ボタンの表面に表示されます。ここは自由に書き換えられます。
※ボタンがクリックされたときの動作は、onClick属性内に記述しておきます。 ここでは、「onClick="checkpw();"」としてcheckpw関数を呼び出しています。

パスワードをソースファイルに一切記述しない

「パスワード認証」というからには、一般的には入力されたパスワードが正しいかどうかを判断する必要があります。 しかし、上記のソースには「パスワード」そのものは含まれていません。 従って、ソースコードを覗かれてもパスワードは見えません。

では、どうやってパスワードが正しいかどうかを判断しているのでしょうか。
次のページでご紹介致します。

>>> Page.3 : パスワードを記述せずになぜ認証できるのか? >>>

  • 印刷する
  • ブックマークする
  • 携帯に送る
  • ブログに書く

あわせて読みたい

この記事の担当ガイド

写真

西村 文宏

関西大学大学院 総合情報学研究科 博士課程にて情報学を学ぶ傍ら、ホームページに関する書籍の執筆や企業…

続きを読む

住まいには、人の個性がよく現れるもの。同じ空間をどのように使うかで、雰囲気も、快適さも大きく変わってくる。ここでは、「建築家と家を建てる」ガイド の川畑博哉氏が厳選した10軒を紹介し、建築家それぞれのこだわりのポイントを紹介しよう。建築のプロたちが考え出した、マネしたくなるアイデアが満載! さぁ、いますぐチェック!

人気ホームページ作成ランキング

Powered by 価格.com

デジタル関連コミュニティ

北欧好きが、愛用の北欧モノを見せ合うコミュニティ

メルマガ登録

【デジタルメルマガ】オトナのオトコなら知っておきたい、PCやデジモノに関する情報をお届けします。

ショッピングカタログ

All About ウェブマガジン

女性向け

雨が楽しくなる!レイングッズ15

男性向け

マネしたくなるアイデア住宅

All About モバイル

QRコード

All Aboutがケータイで読める!

オススメ記事をメールでチェック

知識・経験を生かして、記事を書いてみませんか?