アプリ版:「スタンプのみでお礼する」機能のリリースについて

ホームページのジャンプ先を制限する方法について沢山の方法が回答例としてありますがどれもうまくできません。例えば下記の回答例を真似してもエラーになります。
…簡単でよければ、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>
・・・・・・・
他に簡単に出来る方法があれば紹介してください。

A 回答 (7件)

このままで行けそうですが?



エラーの内容を補足して下さい。
    • good
    • 0
この回答へのお礼

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

お礼日時:2010/09/14 18:07

上に情報バーか何か出てませんか?ローカルではそのまま実行できません。


あとこのままだと文字化けするかもしれないので
<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%も解決するとは思ってもいませんでした。 感謝しております。

補足日時:2010/09/10 09:22
    • good
    • 0
この回答へのお礼

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

お礼日時:2010/09/14 18:06

水をさすようですが、


「格好よく パスワード入力画面にしたいです」
とおっしゃているので、
使用されている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:16
    • good
    • 0

簡単にということであえて突っ込みませんでしたが、ソースにパス書いてるので、わかる人はすぐパスワード判っちゃいますね。


パスを隠すならサーバーサイドプログラムを入れなきゃきついですね。

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:53
    • good
    • 0
この回答へのお礼

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

お礼日時:2010/09/14 17:45

忘れてました。



先ほどのソースは拡張子「.php」で保存してください。

あと、パーミッション等設定がいろいろ必要な場合もあるので、
サーバー側のHPでその辺りを確認してください。

まぁ…このまま保存しただけで上げて動いたらもうけもの。

動かなければ、設定 or そもそも使えないサーバー ですね。
    • good
    • 0
この回答へのお礼

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

お礼日時:2010/09/14 17:45

なるほど、ソースを見られる心配はしなくて良いのですね。



残念ながら先ほどの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>
    • good
    • 0
この回答へのお礼

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

お礼日時:2010/09/14 17:44

ああ・・・桶具のurlの自動変換のせいでスタイルシートのリンク先が途切れてますね。

。。

<link rel="stylesheet" type="text/css" href="★://ajax.googleapis.com/ajax/libs/jqueryui/1.7.1/themes/redmond/jquery-ui.css"/>

★の部分をhttpに変えてください。
    • good
    • 0
この回答へのお礼

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

お礼日時:2010/09/14 17:43

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!