【问题标题】:hidden gridview in asp.net safe?隐藏在asp.net中的gridview安全吗?
【发布时间】:2023-03-28 04:55:01
【问题描述】:

大家好,我想知道在 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

【问题讨论】:

    标签: asp.net security gridview login hidden


    【解决方案1】:

    首先,您为用户身份验证选择了一个完全错误的解决方案。如果您的应用程序中没有使用任何 ORM 框架,我建议您将 GridViewSqlDataSource 更改为 SqlDataReader

    关于您的问题,即使您通过Visible=false 隐藏GridView,它仍然会在页面上的VIEWSTATE 中保存数据。 VIEWSTATE 如果未加密,则存在安全风险(任何人都可以查看或修改其中的值并将其发布到您的页面)。您应该保护VIEWSTATE 以避免虚假登录。详情请点击here

    【讨论】:

      【解决方案2】:

      您应该检查内容是否生成到 html 中。如果是这样,那是极其不安全的,专业的程序员将可以窃取一切。另外,为什么不简单地使用数据库?另外,你为什么不混淆你的密码呢?

      最后,您应该将后端逻辑与 UI 分开。用户登录不应该与 UI 控件有任何关系。

      【讨论】:

        猜你喜欢
        • 2010-09-17
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-07-17
        • 1970-01-01
        • 2016-12-06
        • 2013-02-05
        相关资源
        最近更新 更多