文本框类型密码如何知道每个用户的密码长度而不受约束?
我今天第一次偶然发现了这种现象,并对发生的事情感到惊讶和疑惑?
我试图通过创建一个独立的页面来测试用户错误,以便对此进行测试。基本页面结构除此之外是页面上的所有代码。
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"
格式的正确长度密码填充。
我没有绑定密码,也没有在存储过程中请求密码,但它与用户名一起存储在数据库中
如果我在密码文本框中更改Textmode或者不输出用户名字段,则不再输出密码。
有人可以解释这种行为并指向相关规范吗?
答案 0 :(得分:1)
这看起来像是您的浏览器自动填充功能。就像Vishnu Prasad所说,try adding autocomplete="off"作为你控制的属性,如果你想要移除那个功能。