新規記事投稿
フォロー記事投稿
記事のキャンセル
From: Yasu.F
<yasuf@ariake.ne.jp>
Subject: Re: パスワードを他のCGIに安全に渡す方法を教えて下さい。
Date: 1997/09/17 19:14:37
Reference: mesh.program/00384
9月17日に、むーちゃんは書きました。
>送信方法は、INPUTタグで TYPE="HIDDEN" と指定してvalueを
>送っています。
>すると受け取ったCGIから受信したページでは、普通の操作では
>見えないのですが、右クリックからソースを表示を選択(IEのみ)
>すると、ユーザが入力した生のパスワードが丸見えなのです。
type=hiddenな<INPUT>タグは、単に「目に」見えないという
だけで、セキュリティ的には全く無意味です(というより、逆に悪用
される危険性が無いとも限りません)。
>安全を期すため、ファイルを介してやりとりする方法も考えられます
>が、出来るだけスマートな方法で実現したいのです。
いちばんスマートな方法は、
HTTPサーバ自身の認証機構を使う
ですね^^; これがいちばんシンプルで楽です。
>たとえば、valueに、crypt関数で暗号化したものを代入できればよい
>のになあと思っています。
具体的にどのような処理を行っているのかにもよりますが、
呼び出し先のCGIでパスワード文字列「そのもの」を知る必要が
なければ(cryptで暗号化された文字列は復号できない)、その
方法が使えないこともありません。
ただし、認証機構そのものの信頼性が半減してしまいますので
お薦めはしません。
# パスワードをCookieで覚えさせてもいいという程度の信頼性なら
# あまり関係ないような気もしますが…
## 勿論、Cookieのやりとりや記録は、ほとんどの場合
## クリアテキストで行われています
呼び出し元:
print qq!<input type=hidden name="passwd" value="$pw">!;
呼び出し先:
$param{'passwd'} eq $pw && &passwd_is_right;