パスワードによる入室制限(エラー時対処付き)
パスワードとファイル名を同期させ、ソースを見てもパスワードがバレないタイプのパスワード入室制限だが、パスワードが違った場合は単純に 404 not found になるだけである。
もちろん、パスワードなんてのは正解するのが前提なのでそれでもいいのだが、一応エラー時にメッセージ(alert)を出せるようにしてみた。
(ついでに3回以上は再試行不可能にする対処も。リロードすればまたできるけど)
<html> <head> <title>test</title> <script type="text/javascript"> <!-- var errcount=0; function passError() { errcount++; if(errcount>1) { alert('ダメダコリャ!'); var Form = document.getElementById('enter'); Form.parentNode.removeChild(Form); } else { alert('パスワードが違います。'); } } function passCheck(Form) { if(Form.pass.value.length == 0) { alert('パスワードを入力してください。') return false; } var XIMG = new Image; XIMG.onload=function (){location.href=Form.pass.value+'.html'} XIMG.onerror=passError; XIMG.width=1; XIMG.height=1; XIMG.src='pass/' + Form.pass.value + '.gif'; return false; } //--> </script> </head> <body> <h1>パスワード入室制限</h1> <form id="enter" onsubmit="return passCheck(this)"> <input type="password" size=8 id="pass"> <input type="submit" value="ENTER"> </form> </body> </html>
使い方
パスワードが「abc」だとしたら
正解時の飛び先であるabc.htmlを用意し、更にパスワードチェック用にフォルダ「pass」の中にabc.gifを入れておく。
abc.gifはファイルとして存在すればいいので画像として読み込めれば内容はなんでもかまわない。(ファイルサイズは小さいほどいい。)