- ベストアンサー
ホームページのジャンプ先を制限する方法について
- ホームページのジャンプ先を制限する方法について沢山の方法が回答例としてありますがどれもうまくできません。
- 例えば下記の回答例を真似してもエラーになります。
- 他に簡単に出来る方法があれば紹介してください。
- みんなの回答 (7)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
上に情報バーか何か出てませんか?ローカルではそのまま実行できません。 あとこのままだと文字化けするかもしれないので <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> 私はエラーが再現できませんでした。 これより簡単なものって正直ない気がします。
その他の回答 (6)
ああ・・・桶具のurlの自動変換のせいでスタイルシートのリンク先が途切れてますね。。。 <link rel="stylesheet" type="text/css" href="★://ajax.googleapis.com/ajax/libs/jqueryui/1.7.1/themes/redmond/jquery-ui.css"/> ★の部分をhttpに変えてください。
お礼
ご回答有難うございます。
なるほど、ソースを見られる心配はしなくて良いのですね。 残念ながら先ほどの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>
お礼
ご回答有難うございます。
忘れてました。 先ほどのソースは拡張子「.php」で保存してください。 あと、パーミッション等設定がいろいろ必要な場合もあるので、 サーバー側のHPでその辺りを確認してください。 まぁ…このまま保存しただけで上げて動いたらもうけもの。 動かなければ、設定 or そもそも使えないサーバー ですね。
お礼
ご回答有難うございます。
簡単にということであえて突っ込みませんでしたが、ソースにパス書いてるので、わかる人はすぐパスワード判っちゃいますね。 パスを隠すならサーバーサイドプログラムを入れなきゃきついですね。 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>
お礼
ご回答有難うございます。
補足
大それたことは望んでおりません。http://members3.jcom.home.ne.jp/qwq/index.htm でパスワード入力ボックスが現れます。これで満足しておりました。 ところがビスタをお持ちの人に上記URLをメールで送ると相手のパソコンにはビスタ特有のなんとかを許可するか?のメッセージが出てXPみたいなPss Word 入力場面は出ません。 改善策はあるでしょうか?
- yyr446
- ベストアンサー率65% (870/1330)
水をさすようですが、 「格好よく パスワード入力画面にしたいです」 とおっしゃているので、 使用されているwindow.prompt()やwindow.alert()のダイアログボックス は、全くカストマイズ出来ませんよ。 HTMLでformを使った(この場合formじゃなくてもよいけど)ログインページ 作りましょう。 それから、最低でもソース中に直にパスワード記述するのは×ですね。 (過去質問のご参照) http://okwave.jp/qa/q6159974.html http://okwave.jp/qa/q6037906.html どっちみち、飛び先のページでも認証チェックの仕掛けつくっとかないと、 ログインの意味無いですけど、信じるものは救われますからね。
補足
重ねてのご回答 誠に有難うございました。そもそもこのHPの目的は同窓生(殆ど前期高齢者)から原稿を取り寄せて従来 印刷配布していた行為をペーパー・レスにしようとしているところです。 私も含めて閲覧者はパソコン知識は低いので、見かけ上のプライバシー保護で閲覧者に安心感を与えれば目的は達成されます。(相手が相手ですからソースにPWが書いてあっても気にしないのです。)沢山の回答例をこれから拝見します
- 神崎 渉瑠(@taloo)
- ベストアンサー率44% (1016/2280)
このままで行けそうですが? エラーの内容を補足して下さい。
お礼
ご回答有難うございます。
お礼
ご回答有難うございます。
補足
早速のご回答有難うございます。ホームページビルダーV6を使用しております。 ご回答の中身を意味も判らず、そのまま貼り付けました。 90パーセント解決しました。 残りの問題は ボックス表示で【 Explorer ユーザープロンプト スクリプトプロンプト パスワードを入力してください 】と出まして 目的のurlへ移動できました。 まだウェブには乗せていませんがこれでも使えないことはないと信じております。 格好よく パスワード入力画面にしたいですが、 スクリプトのこと(関係ないのかも?)がよく判らなくて先へ進めません。 あるいは引数とやらいうものが関係しているのでしょうか? しかし、こんなに早く90%も解決するとは思ってもいませんでした。 感謝しております。