ホームページのジャンプ先を制限する方法について

このQ&Aのポイント
  • ホームページのジャンプ先を制限する方法について沢山の方法が回答例としてありますがどれもうまくできません。
  • 例えば下記の回答例を真似してもエラーになります。
  • 他に簡単に出来る方法があれば紹介してください。
回答を見る
  • ベストアンサー

ホームページのジャンプ先を制限する方法について沢山の方法が回答例として

ホームページのジャンプ先を制限する方法について沢山の方法が回答例としてありますがどれもうまくできません。例えば下記の回答例を真似してもエラーになります。 …簡単でよければ、promptを使ったこんなのでどうでしょうか? str="abcde"のabcdeをお好きなパスワードに変更して、location.href の"kaiin.html"を、パスワードが合っていた時の飛び先に変更してくださいね <html> <head> <title>パスワードチェック</title> <script language = "JavaScript"><!-- str = prompt("パスワードを入力してください"); if (str == "abcde") location.href = "kaiin.html"; // --></script> </head> <body> 正しいパスワードを入力してください </body> </html> ・・・・・・・ 他に簡単に出来る方法があれば紹介してください。

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

  • ベストアンサー
noname#118451
noname#118451
回答No.2

上に情報バーか何か出てませんか?ローカルではそのまま実行できません。 あとこのままだと文字化けするかもしれないので <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> みたいな感じで編集している文字コードを入れるのと、 引数が足りなくてundefinedって出るのでそこだけ修正を <script language = "JavaScript"><!-- str = prompt('パスワードを入力してください',''); if (str == "abcde") location.href = "kaiin.html"; // --></script> 私はエラーが再現できませんでした。 これより簡単なものって正直ない気がします。

hoku2004
質問者

お礼

ご回答有難うございます。

hoku2004
質問者

補足

早速のご回答有難うございます。ホームページビルダーV6を使用しております。 ご回答の中身を意味も判らず、そのまま貼り付けました。 90パーセント解決しました。 残りの問題は ボックス表示で【 Explorer ユーザープロンプト スクリプトプロンプト パスワードを入力してください 】と出まして 目的のurlへ移動できました。 まだウェブには乗せていませんがこれでも使えないことはないと信じております。 格好よく パスワード入力画面にしたいですが、 スクリプトのこと(関係ないのかも?)がよく判らなくて先へ進めません。 あるいは引数とやらいうものが関係しているのでしょうか? しかし、こんなに早く90%も解決するとは思ってもいませんでした。 感謝しております。

その他の回答 (6)

noname#118451
noname#118451
回答No.7

ああ・・・桶具のurlの自動変換のせいでスタイルシートのリンク先が途切れてますね。。。 <link rel="stylesheet" type="text/css" href="★://ajax.googleapis.com/ajax/libs/jqueryui/1.7.1/themes/redmond/jquery-ui.css"/> ★の部分をhttpに変えてください。

hoku2004
質問者

お礼

ご回答有難うございます。

noname#118451
noname#118451
回答No.6

なるほど、ソースを見られる心配はしなくて良いのですね。 残念ながら先ほどのpromptでは見た目はどうしようもないです。 なので、ちとgoogle様とjqueryの力を借りて見た目の良いフォームを作ってみました。 htmlに貼り付けるだけで動きますので、いかがでしょうか? <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>パスワードを入力してください</title> <link rel="stylesheet" type="text/css" href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.7.2/themes/redmond/jquery-ui.css"/> <style type="text/css"> #error{ color:#FF0000; } </style> <script src="http://www.google.com/jsapi"></script> <script> google.load("jquery", "1.3.2"); google.load("jqueryui", "1.7.1"); </script> <script type="text/javascript"> $(function(){ var pass='0000';//設定パスワード var jump_url='http://www.yahoo.co.jp/';//ジャンプ先url $('#dlog').dialog({ modal:true, autoOpen:true, resizable:false, draggable:false, title:'入力してください', width:350, show:'slide', hide:'scale', buttons:{ 'OK':function(){ var cin_pass=$('#pass').val(); cin_pass=cin_pass.replace(/^\s+|\s+$/g, ""); if(pass==cin_pass){ location.href=jump_url; }else{ $('#error').text('パスワードが違います'); } } } }); }); </script> </head> <body> <div id="dlog"> メールでお知らせしている四桁のパスワードを入力してください <p id="error"></p> <input type="text" id="pass" size="30" /> </div> </body> </html>

hoku2004
質問者

お礼

ご回答有難うございます。

noname#118451
noname#118451
回答No.5

忘れてました。 先ほどのソースは拡張子「.php」で保存してください。 あと、パーミッション等設定がいろいろ必要な場合もあるので、 サーバー側のHPでその辺りを確認してください。 まぁ…このまま保存しただけで上げて動いたらもうけもの。 動かなければ、設定 or そもそも使えないサーバー ですね。

hoku2004
質問者

お礼

ご回答有難うございます。

noname#118451
noname#118451
回答No.4

簡単にということであえて突っ込みませんでしたが、ソースにパス書いてるので、わかる人はすぐパスワード判っちゃいますね。 パスを隠すならサーバーサイドプログラムを入れなきゃきついですね。 HTMLの知識があるのなら、PHPで簡単に作ってしまうのがよいかなと思います。 サーバーで動くかどうか、その辺りは事前に確認する必要がありますけども。 あくまで簡単なのを書いてみました。 セキュアなことを考えるとこれでも足りないですが、とりあえず簡単にということで。 HTMLをいじれば、デザインを自在に変えれるので、良いのでは?と思います。 ちなみにPHPが動作する環境(サーバーなど)でなければ動きませんのであしからず。 <?php $_id = 'testid'; //認証ID $_pass = 'testpass'; //認証パスワード $jump_url = './'; //認証先のurl if(isset($_POST['id']) && isset($_POST['pass'])){ $id=chop($_POST['id']); $pass=chop($_POST['pass']); if($id==$_id && $pass==$_pass){ header('location: '.$jump_url); exit; } } ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>認証ページ</title> </head> <body> <form action="<?=$_SERVER['PHP_SELF']?>" method="post"> <table> <tr> <th colspan="2">認証フォーム</th> </tr> <tr> <th>ID</th> <td><input name="id" type="text" value="<?=$id?>" /></td> </tr> <tr> <th>PASS</th> <td><input name="pass" type="password" value="<?=$pass?>" /></td> </tr> <tr> <td colspan="2"><input type="submit" value="認証" /></td> </tr> </table> </form> </body> </html>

hoku2004
質問者

お礼

ご回答有難うございます。

hoku2004
質問者

補足

大それたことは望んでおりません。http://members3.jcom.home.ne.jp/qwq/index.htm でパスワード入力ボックスが現れます。これで満足しておりました。 ところがビスタをお持ちの人に上記URLをメールで送ると相手のパソコンにはビスタ特有のなんとかを許可するか?のメッセージが出てXPみたいなPss Word 入力場面は出ません。 改善策はあるでしょうか?

  • yyr446
  • ベストアンサー率65% (870/1330)
回答No.3

水をさすようですが、 「格好よく パスワード入力画面にしたいです」 とおっしゃているので、 使用されているwindow.prompt()やwindow.alert()のダイアログボックス は、全くカストマイズ出来ませんよ。 HTMLでformを使った(この場合formじゃなくてもよいけど)ログインページ 作りましょう。 それから、最低でもソース中に直にパスワード記述するのは×ですね。 (過去質問のご参照) http://okwave.jp/qa/q6159974.html http://okwave.jp/qa/q6037906.html どっちみち、飛び先のページでも認証チェックの仕掛けつくっとかないと、 ログインの意味無いですけど、信じるものは救われますからね。

hoku2004
質問者

補足

重ねてのご回答 誠に有難うございました。そもそもこのHPの目的は同窓生(殆ど前期高齢者)から原稿を取り寄せて従来 印刷配布していた行為をペーパー・レスにしようとしているところです。  私も含めて閲覧者はパソコン知識は低いので、見かけ上のプライバシー保護で閲覧者に安心感を与えれば目的は達成されます。(相手が相手ですからソースにPWが書いてあっても気にしないのです。)沢山の回答例をこれから拝見します

回答No.1

このままで行けそうですが? エラーの内容を補足して下さい。

hoku2004
質問者

お礼

ご回答有難うございます。

関連するQ&A

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

    ホームページ上で見つけた以下のソースを使って、簡易なパスワード制限を かけたいと考えています。 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> 宜しくお願い致します。

  • jump先を変更しても反映されない

    あるページPにリンクを設定しています。 <a href="http://www.**X.com/TEST" target="_blank">http://www.**X.com/TEST</a> TESTフォルダにはindex.htmのみ置いています。 TEST\index.htmの内容は以下の通りです。 <HTML> <HEAD> <TITLE>てすと</TITLE> </HEAD> <SCRIPT LANGUAGE="JavaScript"> <!--JavaScript function jump(){ location.href = "http://www.**A.com/"; } //end--> </SCRIPT> <BODY> <SCRIPT LANGUAGE="JavaScript"> jump(); </SCRIPT> </BODY> </HTML> この状態で TEST\index.htm の内容を location.href = "http://www.**B.com/"; に変更してページPのリンクをクリックしても、**B.comではなく、**A.comが開いてしまいます。 サーバ上で http://www.**X.com/TEST を開いても**A.comが開きます。 サーバにアップする前にLocalでテストするときちんと**B.comに飛びます。 原因と対策を教えてください。 現在はTEST1フォルダを作成し、ページPからTEST1フォルダにリンクを貼って回避しています。

  • promptメソッドがIE7では正しく動かない

    javascriptの初心者です、宜しくお願いします。 promptメソッドを利用してインプットされたパスワードのページへリンクしようとしています。マイドキュメント内では問題なく動いているのですが、サーバーへアップロードしてIE7で確認の段階になると正しく動いてくれません。どこが悪いのか全く解りません、どなたかお教え頂けませんでしょうか。 次の様なソースで実行しています。 <script type="text/javascript"> <!-- function passWordCheck(){ pass=prompt("パスワードを入力してください。",""); if (pass != "") {location.href = pass + ".html";} else if(pass == null){passWordCheck();} } //--> </script> </head> <body> <input type="button" value="閲覧する" onClick="passWordCheck()"> </body> </html>

  • CGIを利用せずにウェブサイトにパスワードチェックをかける方法

    契約プロバイダーが指定のCGI利用しか認めていま せん。 CGIを利用せずにウェブサイトにパスワードチェック をかける方法があれば教えてください。 なお、javaでパスワードチェックをかける方法が雑誌に 紹介されていましたが、チェック後に表示されたページ に直接アクセス可能という中途半端なしろものでした。 これでは意味がないですよね。 ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ <HTML><HEAD><META name="robots" content="noindex,nofollow"> <SCRIPT LANGUAGE="JavaScript"> function nameCheck() { var msgPrompt =パスワードを入力してください。 var msgTitle = "Please password here."; var msgWelcome = "WELCOME"; var msgBad = "正しいパスワードを入力してください"; var passWord = "passpass"; var goodLogon = "xxxxxxx.html"; var badLogon = "badpage.html"; var userInput; userInput = prompt(msgPrompt,msgTitle); if(userInput == passWord) { alert(msgWelcome); window.location.href = goodLogon; }else{ alert(msgBad); window.location.href = badLogon; } } nameCheck(); </SCRIPT> <TITLE></TITLE> </HEAD> <BODY onload="nameCheck()"> </BODY> </HTML>

  • JAVAで作るパスワード制ホームページの作り方

    以前JAVAを使った簡単なパスワード制のHPを作りました。 ですが、どこのサイトから下記のタグを持ってきたのか 自分で忘れてしまって・・・^^; ソースを見てパスワードがバレバレになりすぎないように 一工夫したのは覚えているのですが、 作成したのがかなり前のことだったので、パスワードの文字を示す65%とか26%が、 それぞれどの文字に対応するのかが自分でわからなくなってしまいました^^; ↓これが以前私がどこかから持ってきたタグです。 <html> <head> <title>タイトル</title> <SCRIPT language="JavaScript"> <!-- //パスワードのチェック関数 function enter(){ myPwd = prompt("パスワードを入れてね♪",""); if(myPwd == unescape("%6D%65%61%74%26%62%65%65%72")){ location.href = "***.html"; } else if(myPwd == null){ } else{ alert("パスワードが間違っています。"); enter(); } } //--> </SCRIPT> </head> <BODY onLoad="enter()"> HP作成に詳しい方いらっしゃいましたら、65%などがどのような意味を持つのか、 また、対応表などが書かれているURLなどを教えて頂けると助かります。 宜しくお願いします。

    • ベストアンサー
    • HTML
  • どこが間違っていますか?

    Javascriptを勉強中なのですが、はじめの段階でつまづいています。 下記コードなのですが、どの構文が間違っているのでしょうか? <html> <head> <title>test tab</title> <script type="text/javascript" laguage="javascript"><!--- function tabChage(tabName){ if(tabName == 1){ Location.href = "http://yahoo.co.jp"; }else{ Location.href = "http://google.co.jp" } } //--></script> </head> <body> <a href = "#" onClick = "tabChage('1')">1</a> </body> </html>

  • location.hrefを使用したFRAME表示

    location.hrefを使ったjavascriptを作ろうとしています。 <script type="text/javascript"><!-- location.href = "http://www.yahoo.co.jp/"; // --></script> の改良版として、http://www.yahoo.co.jp/をフレームの右側に 表示させたいと考えています。 (src使用ではなくjavascriptのlocation.hrefを使うことがMUSTです) <head> <script type="text/javascript"><!-- right.location.href = "http://www.yahoo.co.jp/"; // --></script> </head> <body> <FRAMESET cols="50%,50%"> <FRAME name="left" src="left.html"> <FRAME name="right" src="right.html"> </FRAMESET> </body> としてみましたがうまくいきません。 location.hrefはmetaタグ内でしか有効ではないにも関わらず right.の指示をメタタグ内部で指定していないことが原因かも しれません。 javascriptのlocation.hrefを使ってフレームの右側に 表示させる方法をご教授願います。

  • JavaScript フレーム

    Javascriptをふたつ書くことはできないんですか? 2つ書いたら「い」のほうしか宣言されないんでどうしたらよろしいですか? Update.java,kensaku2.java syouhin_kensaku.html,syouhin_master.html <html> <head> <title>メニュー</title> </head> <body> <script type="text/javascript"> <!-- function jump(){ // 設定開始(表示するフレーム名とリンク先URLを設定してください) parent.hakusi.location.href = "syouhin_kensaku.html"; parent.hakusi2.location.href = "Update"; // 設定終了 } // --> </script> <a href="#" onClick="jump(); return false;">あ</a> <br> <br> <script> <!-- function jump(){ parent.hakusi.location.href = "syouhin_master.html"; parent.hakusi2.location.href = "kensaku2"; //設定終了 } // --> </script> <br> <a href="#" onClick="jump(); return false;">い</a> <br> <br> </body> </html>

  • No.1775さんと似たような質問ですが・・・

    質問をしようとしたらNo.1775さんと似たような事で参考に見ましたが分かりませんでした。 単純にパスワードを入力し、合っていた場合に次のページにいければいいのですが(パスは見えていても良い)上手く作動しません。 今、下記のような状態です。 入力ミスや、漏れなどありますか?お分かりになる方ご助言お願いします。 ちなみにCGIはサーバーの規定の物しか使えないプランで、自作は×です。関係ありますか? <HEAD> <script language="JavaScript"><!-- function check() { str = document.myFORM.PW.value; if (str == "gihyo") jpURL = "★パスが合っていた時の表示先URL"; else jpURL = "★エラーの時のページのURL"; location.href = jpURL; } // --></script></HEAD> <BODY> <FORM name="myFORM">パスワード:<input type="★現在ここにパスワード入力" name="PW"> <input type="button" value="ログイン" onClick="check()"></FORM> </BODY> </HTML> コピーしてきたHTMLに★印がついている所を自分のHP用に書き換えただけです。何がいけないんだろうか・・・初心者なものでよろしくお願いします。 他に良い方法がありましたらそれでも結構です。

    • ベストアンサー
    • HTML
  • フレームサイズの変更について

    過去ログを参照していたら、次のようなサンプルを発見したのですが、 IEでは動作しますが、FireFoxではエラーになってしまいます。 どこを修正すれば動くようになるでしょうか? ■frame.html■ <html> <head><title></title> <script language="javascript"> <!-- document.write(frset('40%','60%','a.htm?','1.htm?')) function frset(a,b,f1,f2){ var frset= '<title>frame</title>\n' +'<frameset cols="'+a+','+b+'">\n' +'<frame src="'+f1+'">\n' +'<frame src="'+f2+'">\n' +'</frameset>\n' return frset } //--> </script> </head> </html> ■a.html■ <html> <head><title></title> </head> <body> 右のリンクで<br>フレームのサイズ<br>が変わるよ! </body> </html> ■1.html■ <html> <head><title></title> <script language="javascript"> <!-- function chsize(a,b){ if(location.search==""){ if(document.all){ parent.document.all.tags("frameset")[0].cols=a+","+b }else{ //parent.document.open() parent.document.write(frset(a,b,parent.frames[0].location.href+"?",parent.frames[1].location.href+"?")) parent.document.close() } } } //--> </script> </head> <body onload="chsize('40%','60%')"> こっち側60%です。 <br> <a href="2.htm">こっち側を40%にする!</a> </body> </html> ■2.html■ <html> <head><title></title> <script language="javascript"> <!-- function chsize(a,b){ if(location.search==""){ if(document.all){ parent.document.all.tags("frameset")[0].cols=a+","+b }else{ //parent.document.open() parent.document.write(frset(a,b,parent.frames[0].location.href+"?",parent.frames[1].location.href+"?")) parent.document.close() } } } //--> </script> </head> <body onload="chsize('60%','40%')"> <a href="1.htm">こっち側を60%にする!</a> <br> こっち側40%です。 </body> </html>

専門家に質問してみよう