这又回到了我认为已经足够回答的另一个问题,但经过反思我不确定它是(对不起)。
背景资料:
我正在动态生成一个表单。我从数据库中提取控件。
我必须将每个控件与不是用户会话 ID 的数据库 ID 相关联。我目前通过将我的 ID 与其他一些东西一起存储在 Web 控件的 ID 中来做到这一点,以使其唯一/清楚我在做什么。
在回帖中,我遍历网页上的所有控件,检查我的特殊标识符,即 MyGeneratedTextBox_ID_Unique。此过程支持 2 个重要步骤,识别控件是我生成的控件,并获取此输入字段的 ID。
而且,所有这些都有效,但我仍然担心它的安全性。在这种情况下,我没有看到显示实际数据库 ID 的安全问题,尽管我同意这是不可取的。但是,我担心以下可能性:
如果用户可以向我的集合添加恶意控件并将其用于 SQL 注入攻击。
更具学术性,但如果用户可以通过更改 id 以某种方式存储他们无权访问的字段的数据。
我同意这是一种“破解”方式。但我的问题是,这是否存在安全风险,是否有一种“简单”的方式来减少黑客攻击?
我假设只有在页面上创建/实例化的控件才会添加到控件列表中。因此,所有控件都必须在服务器端创建,因此安全问题已得到解决,但只是想验证。再次感谢。
PS:我可以看到为每个控件添加一个属性并加密视图状态会更安全一些。