この魔女手芸とは何ですか?
テキストボックスタイプのパスワードは、バインドされていない各ユーザーのパスワードの長さをどのように知っていますか?ASP.NETは尋ねることなく自分のパスワードを知っていますか?
私はこの現象を今日初めて遭遇し、何が起こっているのか驚いて困惑しましたか?
これをテストするためにスタンドアロンページを作成してユーザーエラーを解消しようとしました。基本的なページ構造は、これ以外にページ上のすべてのコードです。すべてのインスタンスで
ASP.NET
<asp:TextBox ID="txtUsername" runat="server" />
<asp:TextBox ID="txtPassword" runat="server" TextMode="Password"/>
VB.NET
Using con As New SqlConnection
con.ConnectionString = ConfigurationManager.ConnectionStrings("Con").ConnectionString
Using cmd As New SqlCommand("TM.sp", con)
cmd.CommandType = CommandType.StoredProcedure
cmd.Parameters.Add("@UserID", SqlDbType.Int).Value = Request.QueryString("UserID")
con.Open()
Using sdr As SqlDataReader = cmd.ExecuteReader()
While sdr.Read()
txtUsername.Text = sdr("Username")
End While
End Using
End Using
End Using
txtPassword
テキストボックスが非表示type="password"
形式で正しい長さのパスワードが入力されます。私は、パスワードのテキストボックスにテキストモードを変更したり、出力ユーザ名フィールドをしない場合、ユーザ名
とともにしかし、それがデータベースに格納されている
はどこにも私は、パスワードを結合しないのですまたそれは、ストアドプロシージャで要求されていますパスワードはもう出力されません。
誰かがこの動作を説明し、関連する仕様を指摘できますか?
ブラウザのオートコンプリート機能 –
@the_lotusが正しい場合は、これをパスワードタグ 'autocomplete =" off "'に追加して確認してください。それはもはやいっぱいになります –
ブラウザはパスワードを保存することができます。 – Win