大家好,我想知道在asp.net中使用隐藏的gridview是否安全。 例如,在登录页面中使用这样的东西登录? sql命令填充位于asp.net sql控件内的此网格并连接到此gridview。
For x = 0 To workerGrid.Rows.Count - 1
If workerGrid.Rows.Item(x).Cells(6).Text = userBox.Text And
workerGrid.Rows.Item(x).Cells(7).Text = passwordInput.Text And
workerGrid.Rows.Item(x).Cells(10).Text = companyIdBox.Text And
workerGrid.Rows.Item(x).Cells(8).Text = "Active" Then
y = True
Exit For
End If
Next
答案 0 :(得分:1)
您应该检查内容是否生成到html中。如果是这样,那么它是非常不安全的,专业程序员将能够窃取一切。另外,为什么不简单地使用数据库?另外,为什么不模糊密码?
最后,您应该将后端逻辑与UI分开。用户登录永远不应该与UI控件有任何关系。
答案 1 :(得分:1)
首先,您选择了一个完全错误的用户身份验证解决方案。如果您未在应用程序中使用任何ORM框架,我建议您将GridView
更改为SqlDataSource
至SqlDataReader。
关于您的问题,即使您通过GridView
隐藏Visible=false
,它仍会将数据保存在页面上的VIEWSTATE
中。 VIEWSTATE
如果未加密则存在安全风险(任何人都可以查看或修改其中的值并将其发布到您的页面)。您应该保护VIEWSTATE
以避免虚假登录。点击here了解详情。