- ベストアンサー
ジャバスクリプト
お世話になります。 今、私はジャバスクリプトに挑戦しています。 不明な点が発生しました、よろしくご指導ください。 本文 このプログラムは、Webページの閲覧をパスワードによって制限するというものらしいのですが、 私は、htmlソースの<body></body>内に次のようなjavascriptプログラムを入力しました。 <SCRIPT LANGUAGE="JavaScript"> <!-- function passWordCheck(){ pass=prompt("パスワードを入力してください。",""); if (pass !="") { location.href = pass + ".htm"; }else if(pass == null){ passWordCheck(); } } //--> </SCRIPT> <P ALIGN="center"><STRONG>パスワードを入力して入室してください。</STRONG></P> <P ALIGN="center"> <INPUT TYPE="button" VALUE="入室する" onclick="passWordCheck()"> </P></TD> </TR> そこで私は、結果を確認するためブラウザを表示させ、ブラウザ上で表示された(入室する)というボタンをクリックしました。すると(Explorerユーザープロンプト)という小さな画面がでてその中には、(パスワードを入力してください)とあるのです。 私は、パスワードとして表示させたいWEBページのURLを入力しました。 すると、ERRORとして(指定されたファイルは見つかりません)として、 表示を希望するページが表示されません。 何とかしてこのプログラムを活用させたいのですが、よろしくご指導くださいますようお願いします。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
上記、ソースを05_test.htmlとして保存、同じ階層に04_test.htmを用意。 05_test.htmlを表示させ“入室する”をクリック、出てきたダイアログで04_testと入力する。 上記の手順で04_test.htmがちゃんと表示されましたよ。 表示させるHTMLの拡張子がhtmlじゃなくてhtmなところが注意点かも。 まあNo.1さんの言われるとおり、この場合パスワードと違う気がします。
その他の回答 (3)
- ttyp03
- ベストアンサー率28% (277/960)
まずこのプログラムは「入力された文字列」+「.htm」のアドレスに移動するだけのものです。 つまり皆さんがおっしゃっているように、password と入力されたら、password.htm というファイルに移動するだけです。 これが理解できれば質問者さんは何を用意すればいいか、何を入力すればいいかはわかりますね。 そしてこのプログラムは厳密なセキュリティが施されていないということも皆さんのおっしゃるとおりです。 先ほどの例でいえば、ブラウザのアドレスバーに password.htm も直接入力されれば誰でも見れてしまいますから。 ただ逆に言えば「password.htm がある」ということを知っていないと出来ない行為なので、これはこれで意味のあるセキュリティだと思います。 仮にIDとパスワードが必要なページを作ったとしても、そのIDとパスワードが流出すれば一緒ですからね。
お礼
始めに、ご回答にお礼を申し上げます。 なにぶん、ジャバスクリプトの基礎がありませんので、苦労しております。 このたびは拡張子(htmlとhtm)の入力ミスでした。 しかし、このような小さなミスを見落としているところがいかにも初心者だな~と思います。私は、NO.4さんの文章がまだ、理解できていません、 (password と入力されたら、password.htm というファイルに移動するだけ) この部分をもう少し勉強したいと思います。 適切なアドバイス本当にありがとうございました。失礼します。
- LancerVII
- ベストアンサー率51% (1060/2054)
こんにちは。 まず、簡易的な閲覧制限になります。 ファイル名がわからなければHTMLファイルにアクセスされない。 そこを利用して、そのファイル名自体をパスワードとして使用するものですね。 ファイル名さえわかっちゃえば誰でも閲覧できてしまいます。 本題です、まず、パスワードとしたい文字列を決めます。 制限をかけたいページのHTMLファイルをその文字列でファイル名を設定します。 例えば、パスワードが[password]でしたら制限をかけようとしているページの HTMLファイル名は[password.htm]です。 まずはそこをチェックしてみてください。 大文字小文字、拡張子(htmlまたはhtm)
お礼
ご回答ありがとうございました。 ご指摘の、HTMLファイル名がhtmとhtmlの拡張子の入力ミスでした。 今後もう少し、慎重に作業を行いたいと思います。 ありがとうございました。失礼します。
- yambejp
- ベストアンサー率51% (3827/7415)
微妙になにをなさりたいかわかりません。 「パスワード」といいつつ、なぜURLを入れるの でしょう?またなぜpassでうけとった文字列に .htmをつけなくてはならないのでしょう? 「location.href = pass; 」にすれば、とりあえず 入力したurlに飛べるとは思います。
お礼
大変失礼しました。 パスワードは仮のものをと思いまして、とりあえず記入しました。 初めてですので、大変な誤解を与え反省しております。 ご回答ありがとうございます。
お礼
ご回答ありがとうございます。ご指摘のとおり拡張子の入力ミスでした。 (htmlとhtm)の間違いでした。 しかし、この様なわずかなミスを見落として気ずかないところが初心者なのでしょうね。 また、ファイルの階層への保存方法も大変参考になりました。 それでは失礼します。