Javascriptでパスワードをかけるなんて無理じゃない?

知り合いから聞かれて即答で「できない」って答えたら、やってるページがあるから見てくれって言われた。んで、ちょっと調べてみたら、↓みたいなことをやってるだけだった。。。

見た感想は「馬鹿じゃねぇ?」ってのが正直な感想。

やってることは、パスワードとしてファイル名を入力させて、「入力させたファイル名.html」に飛ばしているだけ。コードは以下みたいなものね。

<script language="JavaScript" type="text/javascript">
  function nextPage(){
   pwd=document.form1.pass.value;
   location.href=pwd+".html";
  }
</script> 

これだめだめでしょ?

パスワードってのは「〜.html」とかを保護するために使用するもので、これじゃあ全く保護できてない。「hogehoge.html」ってファイルにパスワードをかけたつもりでも、単純にアドレスバーに「hogehoge.html」って入力すればあっさり見えるわけでしょ?ファイル名が分からなければ見えないとかいうつもりで記述しているかもしれないけど、そんなものはどうにかこうにか調べれば分かるわけで全くパスワードとしての機能を果たしていないと思うのは僕だけか?

とりあえず、現在のHTMLとJavascriptの動きを考えるとJavascriptでパスワードを書けるなんて無理!もしかしたらもうちょっとしたら出来るようになるのかもしれないけど、現時点で僕の知る限りでは無理。

大体Javascriptはクライアント側で動くものだから、コードをダウンロードしないといけない。コードをダウンロードするということは、コードを解析することが可能だということで、コード内にパスワードを入れるということもパスワードが一緒にダウンロードされることになるからどう考えてもパスワードとしての機能を果たさない。そして、前述しているような内容だったらアドレスバーに入れられる可能性を考えると、全然パスワードをかけていることにならない。

今回は知り合いからの要望だったから「無理」の一言で済んだけど、これがユーザからの要望とかだったら大変なんだろうなぁ。ユーザがちょっとパソコンに詳しいつもりの人が混じってたりしたら、記述しているサイトとかを見せられて、「これで出来るだろ?」みたいな得意満々の顔で教えられたりするんだよね。

各種ページに書いてあることを鵜呑みにせずに自分で調べて自分で考えることの重要性を再認識した。