ホームページのジャンプ先を制限する方法について沢山の方法が回答例としてありますがどれもうまくできません。例えば下記の回答例を真似してもエラーになります。
…簡単でよければ、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>
・・・・・・・
他に簡単に出来る方法があれば紹介してください。
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. …
<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>
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-transitio …
<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 入力場面は出ません。 改善策はあるでしょうか?
補足日時:2010/09/14 14:53No.3
- 回答日時:
水をさすようですが、
「格好よく パスワード入力画面にしたいです」
とおっしゃているので、
使用されているwindow.prompt()やwindow.alert()のダイアログボックス
は、全くカストマイズ出来ませんよ。
HTMLでformを使った(この場合formじゃなくてもよいけど)ログインページ
作りましょう。
それから、最低でもソース中に直にパスワード記述するのは×ですね。
(過去質問のご参照)
http://oshiete.goo.ne.jp/qa/6159974.html
http://oshiete.goo.ne.jp/qa/6037906.html
どっちみち、飛び先のページでも認証チェックの仕掛けつくっとかないと、
ログインの意味無いですけど、信じるものは救われますからね。
この回答への補足
重ねてのご回答 誠に有難うございました。そもそもこのHPの目的は同窓生(殆ど前期高齢者)から原稿を取り寄せて従来 印刷配布していた行為をペーパー・レスにしようとしているところです。 私も含めて閲覧者はパソコン知識は低いので、見かけ上のプライバシー保護で閲覧者に安心感を与えれば目的は達成されます。(相手が相手ですからソースにPWが書いてあっても気にしないのです。)沢山の回答例をこれから拝見します
補足日時:2010/09/10 16:16No.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>
私はエラーが再現できませんでした。
これより簡単なものって正直ない気がします。
この回答への補足
早速のご回答有難うございます。ホームページビルダーV6を使用しております。
ご回答の中身を意味も判らず、そのまま貼り付けました。
90パーセント解決しました。
残りの問題は ボックス表示で【 Explorer ユーザープロンプト スクリプトプロンプト パスワードを入力してください 】と出まして 目的のurlへ移動できました。
まだウェブには乗せていませんがこれでも使えないことはないと信じております。
格好よく パスワード入力画面にしたいですが、 スクリプトのこと(関係ないのかも?)がよく判らなくて先へ進めません。 あるいは引数とやらいうものが関係しているのでしょうか?
しかし、こんなに早く90%も解決するとは思ってもいませんでした。 感謝しております。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
jQueryでloadした部分に.jsが効...
-
画面(ウィンドウ)/画像の拡...
-
ajax画像変更
-
Google Mapsからxmlファイルの...
-
マスターページ使用時のJavascript
-
変数にドットをいれることはか...
-
background をフェードしながら...
-
ajaxでのデータの送信の質問です
-
Ajaxでの、任意の件数でページ...
-
前後の「+」の意味は?
-
Googleマップ上で、オリジナル...
-
IE6で「スクリプトのデバッグ」...
-
readyStateが4にならない原因
-
SQLのmaxで求めた値を変数に代...
-
Selenium Basicの件
-
JavascriptからPHPへのAjax通信...
-
Javascriptを使ってQRコード読...
-
jQueryのblockUIをformのボタン...
-
JavaScriptでtabindexの変更っ...
-
jquery × php × mysql 非同期で...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
インラインフレームを自動更新...
-
jQueryでloadした部分に.jsが効...
-
一定時間ごとに表示内容を切り...
-
jQueryで追加した要素がマウス...
-
連番タイトル名を基準にリンク...
-
location.replaceでの移動
-
jQuery toggle() 戻るで開いた...
-
Folder.selectDialog()について
-
slideToggleを複数のボタンで適...
-
クリックテキストを次ページに表示
-
XHTMLで外部JSファイルを読み込...
-
JQueryで動的生成のスライダが...
-
<SCRIPT src="css.js">の記述位置
-
javaの変数又はデータの共有
-
フレーム内の要素へのXPATHはど...
-
リンク元のURLのパラメータでペ...
-
div要素の入れ替え。半透明イメ...
-
別ページのインラインフレーム...
-
自動で現れるTOPにもどるボタン...
-
複数の特定のURLからのみアクセ...
おすすめ情報