我正在做一个asp.net/c#项目。目前,我有一个带有标签控件 lblData 的网页,用于显示字符串变量的内容。请查看下面的代码块:
string strData = "Data";
lblData.Text = strData;
当我运行Parasoft工具扫描项目时,我得到如下结果:
安全问题:防止敏感数据泄露
通过网络控制泄漏ToString()结果。
我认为我的代码违反了一些标准的安全措施,但我不确定如何修复它。 非常感谢您的时间和帮助。
答案 0 :(得分:2)
这是完整的代码,还是您简化了示例? 我问,因为我无法对你的例子进行任何违规行为。
将您的示例修改为:
protected void Foo(object o)
{
string strData = "Data" + o.ToString() ;
lblData.Text = strData;
}
我收到了以下违规行为:
违规:通过网络控制泄漏ToString()结果(" strData")
要修复违规行为,您需要验证公开数据,通过在规则配置验证方法中定义并将数据传递给该方法来完成(默认情况下,所有带前缀' validate'的方法都被视为证实) 因此,如果您将代码修改为:
protected void Foo(object o)
{
string strData = "Data" + o.ToString() ;
validateStrData(strData);
lblData.Text = strData;
}
private void validateStrData(string strData)
{
//some validating logic
}
然后不应该报告违规行为
答案 1 :(得分:0)
试试这个,
lblData.Text = strData.ToString();