• ベストアンサー

パスワードを二つ用いて隠しページをひらくには?

お世話になります。 http://www.red.oit-net.jp/tatsuya/java/prompt.htm このサイトをみてパスワード付きホームページの作成の 仕方はおおむね理解したのですが、 私のサイトの場合パスワードを2個用いて 隠されたホームページを表示されるようにしたいと思っています。 <script language="JavaScript"><!-- function myButton(){ myPassWord = document.myFormText.myFormTextPass.value; if ( myPassWord == "pass1" )location.href = "secret.htm"; else alert( "パスワードが違います!" ); } // --></script> <form name="myFormText"> パスワードを入れてください <input type="password" size="30" name="myFormTextPass"> <input type="button" value="OK" onclick="myButton()"> </form> パスワードを入れてください このような表記だと1つのパスワードしか入力できず 困っているのですが2つのパスワードを入力させるようにするにはどのような記述をすればよろしいでしょうか。 よろしくお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.3

パスワードではなく、問題の答えあわせですか。 それならこのような例はどうでしょう? <html> <head> <title>サンプルコード</title> <meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS"> <meta http-equiv="Content-Script-Type" content="text/javascript"> <script LANGUAGE="JavaScript"> <!-- function check(){ var ans1 = "ここに答え1"; var ans2 = "ここに答え2"; var ans3 = "使わないかもしれませんが。ここに答え3以降同じ方法で増やせます"; var url = "http://goo.ne.jp/";// 全問正解時のリンク先URL var msg = ""; // ここで判定 if (document.mondai.tx1.value != ans1){msg += "答え1は間違いです\n"} if (document.mondai.tx2.value != ans2){msg += "答え2は間違いです\n"} if (document.mondai.tx3.value != ans3){msg += "答え3は間違いです\n"} // ここで全問正解時はリンク、そうでないときはその旨のメッセージを表示 if (msg == ""){alert("全問正解です。次の問題に飛びます");window.location.href = url;}else{alert(msg);} } //--> </script> </head> <body> <form NAME="mondai" ACTION="#"> <input TYPE="text" NAME="tx1"> <input TYPE="text" NAME="tx2"> <input TYPE="text" NAME="tx3"><!--念のため3つ目--> <input TYPE="button" onclick="check()" VALUE="答え合わせ"> </form> </body> </html> 増やすときは var ans3 = "";     JavaScriptコード if (document.mondai.tx3.value != ans3){msg += "答え3は間違いです\n"}     JavaScriptコード <input TYPE="text" NAME="tx3">     HTML この3箇所を追加してください

mokukun
質問者

お礼

親切にありがとうございます。 本当に助かりました。 まさに私の理想系のコードです。 ありがたく使わせていただきます。m(__)m

その他の回答 (2)

  • kjn
  • ベストアンサー率47% (43/90)
回答No.2

あくまで簡易的なものですが、↓のjavascriptではソース自体にはパスワードを書き込まず、パスワード自体が引数となって、次に表示させたいページのファイル名が「パスワード+html」という記述になっているので、例えばパスワードがoneとtwoだったら、パスが通ったときに行くページとして「one.html」と「two.html」を用意すればいいのです。この方法だと、いくつでもパスワードを設定でき、ファイル名さえバレなければ簡単にはアクセスできません。パスが通ったときに行くページを「zero.html」というひとつのページに統一したければ「one.html」と「two.html」のhead部分にこれでリダイレクトの<meta http-equiv="refresh" content="0;url=zero.html">を書けばいいでしょう。 ただしあくまでも本格的な認証にはむいていません。1の方がおっしゃる通り、htaccessを使ってディレクトリごと保護するのが一番良いでしょう。 <script language="JavaScript"> <!-- function passBlock() { var password = prompt("パスワードを入れてください",""); if (password != "") { location.href=password+".html";} else { alert("パスワードが違います") location.href="http://www.yahoo.co.jp"; } } //--> </SCRIPT> <INPUT type="button" name="PassBlock" value="key" onClick="passBlock()">

mokukun
質問者

補足

ありがとうございます。 ですがセキュリティー自体にはそれほどこだわっていないんですよね。 私は高校生用の数学の問題のホームページを作っていて 答えの欄に 入力させ それがあってれば次のページへ 間違っていればメッセージが表示されるという風に したいんです。 例えば、1つ目の答えを 50 として 2つ目の答えを 100 とします。 両方が正解ならば 次のページが開き 片方が不正解なら メッセージがでて1問目が間違ってる 又は2問目がまちがってる。等表示されるようにしたいんです。 先に挙げた例では一つの答えしか入力できず困っています。 何分javascriptについてはまったくの初心者でさっぱりわからないです。教えて頂けないでしょうか。宜しくお願い致します。

回答No.1

残念ですが、この方法は危険です。 なぜなら少しでもJavaScriptを習得したひとなら、だれでもすぐにパスワードの制限のかかったページにアクセスできてしまいます。 パスワードを掛けるには、 .htpasswd .htaccess というファイルをアップロードすることにより行いましょう 参考ページとして解説の乗っているページを載せておきます。 もしその制限されたページに重要な内容が書かれている場合、あなたの行おうとしているJavaScriptでのパスワード処理は絶対に行わないように!

参考URL:
http://www.futomi.com/lecture/htaccess/htpasswd.html
mokukun
質問者

お礼

ありがとうございます。 ご忠告感謝いたします。m(. .)m

関連するQ&A

  • アクセス制限のあるページのつくりかた

    お世話になっております<m(__)m> おしえてください(涙 WindowsXPをつかっています。 http://www.red.oit-net.jp/tatsuya/java/prompt.htm ↑のページを参考にしまして(作者様、ありがとうございます<m(__)m>) アクセス制限のあるページを作ってみたく思いました。 スクリプト内容は、 ************************************************ <script language="JavaScript"><!-- function myEnter(){ myPassWord=prompt("Tatsuya家のパスワードを入力してください",""); if ( myPassWord == "pass1" ) location.href = "secret.htm"; else alert( "パスワードが違います!" ); } // --></script> <form> ここは家族専用です→ <input type="button" value="Tatsuya家へ" onclick="myEnter()"> </form> *********************************************** 上記のものですが、私としては、以下の部分(かな?) <form> ここは家族専用です→ <input type="button" value="Tatsuya家へ" onclick="myEnter()"> </form> ↑ここを直したいんです。 画像アイコンをクリックして、そのアクセス制限のあるダイヤログがでて→そして実際制限したいページにいけるようにしたいんです。一応HPビルダー6.0で作成していますが、タグを直接打たなくちゃだめだよ~というのなら、がんばりますので、教えてください<m(__)m>だから、formタグは使わないと思うのですが、初心者のため、いまいちよくわかりません(涙 どうかよろしくおねがいいたします<m(__)m>

  • HTAのタグ?の事についてです。

    HTAのタグ?の事についてです。 先ほど、HTAのタグを本を参考にして作っていました。 内容は↓↓ <html><head> <hta:application border="dialog" maximizebutton="no" scroll=no"/> <hta:application contextmenu="no"> <script type="text/javascript"> window.moveTo(100,100); window.resizeTo(250,200); function myButton(){ myPassWord = document.myFormText.myFromTextPass.value; if(myPassWord == "pass1")location.href = "http://www.google.jp"; else alert("パスワードが違います!"); } </script> </head> <body> <h3>パスワード入力</h3> <form name="myFormText"> パスワードを入力してください <input type="password"size="20" name="myFormTextPass"> <input type="button" value="OK" onclick="myButton()"> </form> </body></html> です。つまり、パスワードを設定できるようなタグを作っていて将来ホームページに付けて日記を見るときにパスワードを掛けるためにやっていました。。。 が、今そのタグでテストをしていると、グーグルのHPに飛ぶときにプログラムを実行しますか?? 的なことが出てきて、うまくリンクできません。。 何故そのような事になるのでしょうか???初心者ゆえに何時間考えても全然わからなくて、思い切り壁にぶち当たってしまったので詳しい方、教えていただけるとすごくうれしいです!!! また、今回作ろうとしていたのは、ホームページに貼れるようなタグで、尚且つ携帯からもできパスワードを2~30個くらい作れるという感じのものです・・・・・・ 無理なことかもしれませんが、もしそのタグの作り方がわかる方が居ましたら教えていただけると本当に本当にうれしいです!!!!!

  • ホームページのパスワード制限について(初心者です)

    ホームページ上で見つけた以下のソースを使って、簡易なパスワード制限を かけたいと考えています。 URLの一部をパスワードとして使用する方法だと理解しているのですが、 もうひと工夫したいと思い、質問させていただいています。 例えば、入力したパスワードの真ん中7桁を切り出す等して、 パスワード=URLの一部とならないような工夫はできないでしょうか。 (ソースにパスワードが記載されないようにもしたいです) <script type="text/javascript"><!-- function checkpw(){ var pswd = prompt("パスワードを入力してください:",""); location.href = pswd + ".htm"; } //--></script> <form><center> <input type="button" value="ログイン" onClick="checkpw();"> </center></form> 宜しくお願い致します。

  • 簡易パスワードからログイン後のページを画面いっぱい

    お世話になっております。 先ほど質問させていただきました簡易パスワードの件の続きになります・・・。 現在画面を3分割にしておりまして、このままパスワード入力後のページを表示させる際、3分割されたまま画面が表示されてしまいます。 <a href>より作成しているタグについては、target="_top"を加えて画面いっぱいに表示するように構成しているのですが、パスワードのところに加えるとステータスバーに「ページでエラーが発生しました」と表示されてしまいます。 どうすればいいでしょうか。 タグ構成は以下のとおりとなっています。 <A id="e-TaxQA"><FONT color=#006400 size="+2"><b>e-TaxQA</b></FONT></a><BR> <center> <script language="JavaScript"><!-- function myEnter(){ myPassWord=prompt("パスワード",""); if ( myPassWord == "015901" ) location.href = "\\\\共有サーバー\\U\\個人\\名前\\フォルダ\\各QA\\QA\\(一覧).htm"; else alert( "パスワードが違います!" ); } // --></script> <form> <input type="button" value="☆★☆ログイン☆★☆" onclick="myEnter()"> </form> </center><BR>

  • パスワードをIPする際見えないようにしたい。

    こんにちわ。 社内HPで、パスを付けて閲覧者を制限する ページを作りました。 正常に動作しているのですが、 パスをIPする際、伏字状にしたいのですが(●●●)どの様にしたら宜しいでしょうか? どなかたご指南下さい。。。 ウィンドウズXPを使用しています。 <script language="JavaScript"><!-- function myEnter(){ myPassWord = prompt("パスを入れてください",""); if ( myPassWord == String.fromCharCode(パス) ) location.href = String.fromCharCode(リンク先URL)+".htm"; else alert( "パスが違います" ); } // --></script> ------------------------------------------------ <form> この先は●●チーム専用です <input type="button" value="入場" onclick="myEnter()"> </form>

  • java簡易パスワード

    javaの簡易パスワードを使って閲覧制限を一部のページに施しています。URLを一致させてジャンプするタイプです。入力したパスワードが間違ってると「このページは存在しません」のページヘジャンプしていしまいます。これをアワードで「パスワードが間違っています」と表示させたいです。どのようにすれば出来ますか? <form name="passform" action="#"> パスワード <input type=password name="passtxt" size="20" tabindex="1"> <input type=button value="OK" tabindex="2" onclick="if (document.passform.passtxt.value !='') {location.href=document.passform.passtxt.value + '.htm' } else { alert('エラー:パスワードの未入力が考えられます') }">  <input type="reset" value="リセット" tabindex="3" onclick="return confirm('入力内容を削除してもよろしいですか?');" > </form>

  • 知り合いにだけ見れるページを作るには?(セキュリティはそんなに高くなくていいです

    すごい簡単な方法で構いません。 一般公開しているHPのうち 身内にだけ見せたいページがあるとします。 そのページのアドレスを知り合いにだけ 教えればいいだけなのですが、それでは 何かイヤなので、教えて下さい。 <form> <script language="JavaScript"> <!-- function myEnter(){ PassWord = prompt("パスワードを入力して♪",""); if (PassWord == "") { alert("パスワードが未入力です"); } else { location.href = "http://www1.tcnet.ne.jp/****/"+PassWord+".htm"; } } // --> </script> <input type="BUTTON" value="パスワード" style="width:6em" onclick="myEnter()"> </form> と今、記述していてボタンを押した時に、 パスワード(実際には見せたいページのHTMLファイル名) の入力をさせたいと思っているのですが、 パスワードのキャンセルをした時に、 Null.htmにとんでしまいます。 キャンセルしたときは、トップページに戻りたいのですが どのように書けばいいのでしょうか? また、もっといい方法で簡単な方法があれば 教えて下さい。SCRIPTだけで解決したいと思っています。 IE5 Windows2000

    • ベストアンサー
    • HTML
  • 簡易パスワードからログインするとURLが異常・・・

    毎度、毎度、この『教えて!goo』にはお世話になっております。 皆様の回答も大変わかりやすく、いつも活用させていただいております。 ありがとうございます。 今回はJavascriptにて作成した簡易パスワード画面からログインし、別画面を表示させるようにしたいのですが、中々うまくいきません。 作成中のタグ構成は以下のとおりです。 <html lung="ja"> <script language="JavaScript"><!-- function myEnter(){ myPassWord=prompt("パスワード",""); if ( myPassWord == "000000" ) location.href = "\\共有サーバー\U\個人\名前\フォルダ\各QA\(1)QA\QA(一覧).htm"; else alert( "パスワードが違います!" ); } // --></script> <form> QAへ <input type="button" value="ログイン" onclick="myEnter()"> </form> </html> このようにして、簡易パスワード画面からパスワードを入力しログインすると、画面は切り替わるのですが、「Internet Explorerでは表示できません」となってしまいます。 このときURLを確認すると『\\共有サーバー\U\個人\名前\フォルダ\各QA\(1)QA\QA(一覧).htm』の綴りが『\\共有サーバー\U個人名前フォルダ各QA(1)QAQA(一覧).htm』と3つ目以降の「¥」が消えてしまいます。 何度工夫しても、状況が変わりません。 皆様には、大変ご迷惑をおかけしますが、何卒ご回答の程よろしくお願い申し上げます。

  • ホームページの「パスワード」機能が上手く作動しなくて困っています。

    自分のホームページに「パスワード」で 特定の人だけが閲覧できるページを作りたいのですが インターネットで見つけたスクリプト(下記)を HTMLに書き込んだのですが、上手くリンク先のページに 飛びません。何が悪いのでしょうか? ****************以下書き込んだ内容です。 <head></head>の間に <script language="JavaScript" type="text/javascript"> function nextPage(){ pwd=document.form1.pass.value; location.href=pwd+".html"; } </script> そのあと<body></body>の間に <form name="form1"> <input type="textbox" name="pass"> <input type="button" value="パスワード" onClick="nextPage();"> </form> ****************です。 パスワードは、飛ばしたい先の名前が「test.html」 ですので、聞いてきたパスワード欄に test と打つのですが 「表示できません」のメッセージが出ます。 環境は vista でホームページビルダーのvar.5です。 よろしくお願いいたします。

  • パスワード入力で見れるページを、ブラウザを閉じるまで再入力しなくても済むようにしたい

    毎回毎回お世話になっております。 以下のような方法で、abcpass.htmlを開くのにパスワード設定をしています。 メニュー「abc」をクリックすると、まずabc.htmlが表示され、そこに以下のスクリプトを記述しています。 <script language="javascript"> function myPw() { H_Pw = document.F_pw.TB_pw.value; if ( H_Pw == "abc" ) return(true) else alert( "パスワードが違います!" ); return(false); } </script> <form name="F_pw" method = post action = abcpass.html onSubmit="return myPw()"> <p> <input type="password" size="30" name="TB_pw"> <input type="submit" value="ログイン" ><BR><BR> <input type="checkbox" name="C_pw" value="y" checked>このパスワードを保存する。 </p> </form> 実際に閲覧者が見たい内容はabcpass.htmlの方です。 この方法ですと、一度パスワードを入れてabcpass.htmlを見ることができても、 他のページへ行ってまたメニュー「abc」をクリックすると、 abc.htmlが表示されるため、再びパスワード入力画面になってしまいます。 一度パスワードを入力したら、ブラウザを閉じるまでは再入力しないで済むようにしたいのですが、どのようにしたらいいでしょうか。 どうぞよろしくお願いいたします。

専門家に質問してみよう