- PR -

パスワード入力の初期表示について

1
投稿者投稿内容
YUUKI
会議室デビュー日: 2004/06/18
投稿数: 7
投稿日時: 2004-06-18 19:27
初めて投稿いたします。

ASP.NETで、テキストパスワードが入っている画面を作成したのですが、
画面を開いた時に、空白になってしまいます(テーブルの情報を初期表示しているのですが、
テキストパスワードの項目だけ空白で表示されてしまいます)。
初期表示は可能なのでしょうか?

現在、ソースでは、Page_Load の箇所でデータベースから値を取得し
txtPassword.Value = CStr(adoRs("PASSWORD"))
としているのですが。

拙い説明で申し訳ないですが、宜しくお願い致します。
なちゃ
ぬし
会議室デビュー日: 2003/06/11
投稿数: 872
投稿日時: 2004-06-18 19:54
引用:

YUUKIさんの書き込み (2004-06-18 19:27) より:

画面を開いた時に、空白になってしまいます(テーブルの情報を初期表示しているのですが、
テキストパスワードの項目だけ空白で表示されてしまいます)。


つまり普通はそんなことしない、常識的に言えばしてはならないということです。
べーちゃん
大ベテラン
会議室デビュー日: 2002/07/21
投稿数: 121
投稿日時: 2004-06-19 01:20
Windowsアプリケーションと違って、ブラウザの場合ソースの表示が可能ですので
パスワードの値を送ると見えてしまうことになります。そのためおっしゃるとおり、
値を設定してやってもパスワードの値はブラウザには送られません。
従って実際に画面を開いても空白になります。


[ メッセージ編集済み 編集者: べーちゃん 編集日時 2004-06-19 01:29 ]
YUUKI
会議室デビュー日: 2004/06/18
投稿数: 7
投稿日時: 2004-06-19 01:39
なちゃ様、ベーちゃん様、返答有難うございます。

やはりテキストパスワードの設定は出来ないのですね。
パスワード入力の画面で、前回設定の値を前表示しているページを見たことがあったので(ASP.NETで作成されたものかは解りませんが)可能なのかと思っていたので。

そうすると、テキストで作成して、自力で「*」変換するなどして対応するしかないのでしょうか?
度々の質問ご容赦ください。
べーちゃん
大ベテラン
会議室デビュー日: 2002/07/21
投稿数: 121
投稿日時: 2004-06-19 11:52
こんにちはYUUKIさん。

> そうすると、テキストで作成して、自力で「*」変換するなどして対応するしか
> ないのでしょうか?

できないことはないです。でも、前述のようにWebアプリケーションの場合、
ソースが見えますので、セキュリティ的に問題を抱えることになります。
ご自身のWebサイトでパスワードがもれても、実害がないといわれるのであれば
やって見られてもいいかもしれませんが、会員限定のサービスを提供する
サイトや業務アプリケーションの場合、セキュリティは重要ですので
なちゃさんが言われているように

> 常識的に言えばしてはならないということです。

という結論になります。


> パスワード入力の画面で、前回設定の値を前表示しているページを見たことがあったので
> (ASP.NETで作成されたものかは解りませんが)可能なのかと思っていたので。

JavaアプレットやActiveXなんかのクライアント側で実行されるコンポーネントを
利用したら実現可能かもしれません。但し、工数は増えます。
それとブラウザでオートコンプリートを有効にしておけば、ユーザー名を入力したら
記憶してあるパスワードを表示してくれることがあるかもしれませんが、これは
ブラウザが記憶しているパスワードを表示しているのであって、Webアプリケーションが
ブラウザにパスワードを送っているわけではありません。
それと、この話題に関しては確か以前上がっていたと思いますので、過去のスレッドを
検索されるのをお勧めします。

[ メッセージ編集済み 編集者: べーちゃん 編集日時 2004-06-19 11:55 ]
He
大ベテラン
会議室デビュー日: 2002/12/18
投稿数: 141
投稿日時: 2004-06-20 00:01
<input type="password" value="xxx">というHTMLを出力するだけです。
<input type="password" value='<asp:Literal …… />' >などとすれば実現できます。

ただし、パスワード入力のテキストボックスをサーバコントロールとすることはできません。
(<input type="password" value='<asp:Literal …… />' runat="server">とするのは無理だということ)
これは、ASP.NETでは大きなデメリットです。

既に多くの方が仰っているようにセキュリティ的な問題があります。
# 個人的には、パスワードを初期表示するようなシステムは使いたくありません。
顧客からの要件であれば甘んじて受け入れざるを得ない場合もあるでしょうが。。。

例えばログイン画面であれば、
IDとパスワードを初期表示するくらいなら、何もしなくても自動的にログインしてくれる方が、
よっぽど便利で、(パスワードがネットワークを流れないだけ)安全です。
YUUKI
会議室デビュー日: 2004/06/18
投稿数: 7
投稿日時: 2004-06-20 01:36
べーちゃん様、He様、返答有難うございます。
ASP.NET初心者なもので、色々勉強になっております。

>それと、この話題に関しては確か以前上がっていたと思いますので、過去のスレッドを
>検索されるのをお勧めします。
そうでしたか、有難うございます。
もう一度検索してみたいと思います。

パスワードを変更出来るようにする(パスワードは変更せずに別の項目を変更する場合も有り)という画面なもので、利用者の使いやすさを考えての初期表示だったのです。
皆様のご返答をもとに、検討してみようと思っています。

今後もまた質問を書き込むと思いますので、今後もご教授頂きたいと思っております。
YUUKI
会議室デビュー日: 2004/06/18
投稿数: 7
投稿日時: 2004-06-21 20:53
標題の件ですが、セキュリティ面を考えて初期表示を行わずに、
仕様を変更し対応することにしました。

返答をくれた皆様、ありがとうございました。
1

スキルアップ/キャリアアップ(JOB@IT)