よくログイン画面で、IDとパスワードの下に、「次回からIDの入力を省略」というチェックボックスがあり、チェックを入れれば次回以降は自動ログインできます(「はてな」もそうですね。)。


どうすれば自分のページにその機能をつけられるでしょうか?

ログインが必要なサービスを提供して、その際に自動ログインできるようにしたいです。

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:2006/11/06 14:38:24
  • 終了:2006/11/13 14:40:04

回答(6件)

id:taknt No.1

きゃづみぃ回答回数13539ベストアンサー獲得回数11982006/11/06 14:41:33

ポイント19pt

http://www.futomi.com/lecture/cookie/index.html

Cookieに保存してそれを読み込み表示させるという手段があります。

id:petshop

もう少し具体的なコードなどが欲しいです。

2006/11/06 14:49:38
id:b-wind No.2

b-wind回答回数3344ベストアンサー獲得回数4402006/11/06 14:48:29

ポイント19pt

ほとんどの場合、Cookie を使う事になると思います。

使っているサイトの例

http://techon.nikkeibp.co.jp/guide/cookies.html

ただし、自動ログインは問題になる事もあるので、重要な部分(登録情報・パスワードの変更等)では、再度パスワードを確認するようにした方が良いです。

「はてな」でも質問時等ポイントにかかわるところでは毎回パスワードを要求されます。

id:petshop

これは違います。

2006/11/06 14:56:30
id:arhbwastrh No.3

arhbwastrh回答回数447ベストアンサー獲得回数232006/11/06 15:04:08

ポイント18pt

何を使うかにもよりますが、こんな感じですね。

http://www.tohoho-web.com/wwwcook.htm

JAVAscriptを使うなら、このように書きます

http://www.tohoho-web.com/wwwcook3.htm

(これは訪問日時などを記録するものです)

id:monkey_punch No.4

小社長回答回数44ベストアンサー獲得回数52006/11/06 15:25:41

ポイント18pt

これはどうでしょうか。

Javascriptを使うので、どのサーバでも使えます。

http://ash.jp/~hasimoto/zakki/new_jsck.htm

id:susie-t No.5

susie-t回答回数99ベストアンサー獲得回数182006/11/06 19:04:55

ポイント18pt

まず、お持ちのページでサーバサイドスクリプト(PHP、JSP等)を使用できますでしょうか。でないと「ログインが必要なサービス」自体が提供できません。

可能であれば、以下のようにします。(説明の便宜上、遷移先はhtmlにしています) 説明用なのでかなり粗いですが・・・。

[login.htm]
<html>
<head>
<title>ログイン</title>
<script>
<!--
document.cookie.match(/id=([^;]+)/);
var id = RegExp.$1;
if(id){
  alert("cookieからID:" + id + "を取得しました");
  location.href("menu.htm?id=" + id);
}

function login(fm){
  if(fm.id.value == ""){
    alert("IDを入力してください");
    return false;
  }
  if(fm.isMemory.checked){
    document.cookie = "id=" + fm.id.value + ";expires=Thu, 1-Jan-2030 00:00:00";
  }
  return true;
}
//-->
</script>
</head>
<body>
<form action="menu.htm" method="post" onsubmit="return login(this);">
<input type="text" name="id"/>
<input type="checkbox" name="isMemory">
<input type="submit"/>
</body>
</html>
-----------------------------------------------
[menu.htm]
<html>
<head>
<title>メニュー</title>
</head>
<body>
<input type="button" value="CLEAR" onclick="document.cookie = 'id=;'"/>
</html>

test.htmでテキストボックスにIDを入れ、チェックボックスにチェックを入れてからボタンを押すと、クッキーにIDが保存されます。ここでブラウザの戻るボタンを押すと、「cookieからID:" + id + "を取得しました」というalert(説明用なので実際は不要)を出して再度menu.htmを表示します。このとき、クエリ文字列(アドレスの「?」以降)に入力したIDが確認できます。cookieをクリアしたい場合はmenu.htmのCLEARボタンを押してください。その後戻るボタンを押すとlogin.htmを表示できます。

実際には、セキュリティ上の問題があるので、更に工夫する必要があります(IDをそのままクエリパラメータで送っている等)。更に、「ログインが必要なサービス」のためには、対象の全ページで正規ユーザのアクセスかをチェックする必要があります(ここはサーバサイドで実装する必要があります)。

参考になれば幸いです。

http://q.hatena.ne.jp/1162791502(ダミー)

id:petshop

セキュリティ上の問題のために更なる工夫をするにはどうしたらよいでしょうか?

また、これってよく分からないのですが、Javascriptではないですよね?

Perlが動けばこれは動くのでしょうか?

2006/11/07 19:21:50
id:esecua No.6

esecua回答回数510ベストアンサー獲得回数102006/11/07 08:41:25

ポイント18pt

もしPHPで開発しているのであれば、ライブラリのPEARのAuthを使えばできます。

http://pear.php.net/package/Auth

http://www.bnote.net/php/pear_idx.shtml

http://dozo.matrix.jp/pear/index.php/PEAR/Auth.html

参考になれば幸いです。

id:petshop

ありがとうございます。

だんだんどれをやればいのかが分からなくなってきました。

2006/11/07 08:57:42
  • id:susie-t
    5の回答者です。

    >また、これってよく分からないのですが、Javascriptではないですよね?

    いえ、JavaScriptです。

    >セキュリティ上の問題のために更なる工夫をするにはどうしたらよいでしょうか?

    思いつくのは
    -ID等のデータを暗号化する
    -POSTメソッドで送信する(Ajax使用も考慮)
    等。更にサーバサイドで復号化するなどの処理が必要です。

    更にそれぞれの詳しい話となると、ここで説明するのはちょっとツライです。。。

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません