S 雪霜80 新成员 已加入 2019年9月3日 留言内容 1 编程经验 Beginner 2019年9月3日 #1 即使添加了AntiXss,Fortify也会在我的cs文件中标记以下代码。我可以知道该如何解决吗? C#: protected void Page_Load(object sender, EventArgs e) { if (!Page.IsPostBack) { lblMessage.Text = txtEmail.Text = System.Web.Security.AntiXss.AntiXssEncoder.HtmlEncode(string.Empty,true); } }
即使添加了AntiXss,Fortify也会在我的cs文件中标记以下代码。我可以知道该如何解决吗? C#: protected void Page_Load(object sender, EventArgs e) { if (!Page.IsPostBack) { lblMessage.Text = txtEmail.Text = System.Web.Security.AntiXss.AntiXssEncoder.HtmlEncode(string.Empty,true); } }
跳伞 工作人员 已加入 2019年4月6日 留言内容 2,536 地点 弗吉尼亚州切萨皮克 编程经验 10+ 2019年9月4日 #2 我们大多数人没有Fortify。您能否至少告诉我们Fortify关于某些被标记项目显示的确切信息是什么? 就个人而言,我只删除3-7行,而不给Fortify任何可抱怨的地方。我的理由是:由于这不是回发,因此文本框和标签的默认状态为空字符串-除非您在使用WebForms设计器时将这些控件设置为非空。 并且如果您确实必须将它们设置为空字符串(因为您确实在WebForms设计器中设置了默认值),那么请使用2条与C#编码建议一致的单独行。尽管C#像您一样支持C ++样式堆栈,但这实际上是一种不良的编程习惯。试图节省行的C和C ++天已经一去不复返了,因为行数越多,编译器的运行速度就越慢。现代编程鼓励编写更具表达力的代码,这些代码易于理解。因此,将您的代码编写为: C#: protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { lblMessage.Text = string.Empty; txtEmail.Text = string.Empty; } } Last edited: 2019年9月4日 投票 0 下注
我们大多数人没有Fortify。您能否至少告诉我们Fortify关于某些被标记项目显示的确切信息是什么? 就个人而言,我只删除3-7行,而不给Fortify任何可抱怨的地方。我的理由是:由于这不是回发,因此文本框和标签的默认状态为空字符串-除非您在使用WebForms设计器时将这些控件设置为非空。 并且如果您确实必须将它们设置为空字符串(因为您确实在WebForms设计器中设置了默认值),那么请使用2条与C#编码建议一致的单独行。尽管C#像您一样支持C ++样式堆栈,但这实际上是一种不良的编程习惯。试图节省行的C和C ++天已经一去不复返了,因为行数越多,编译器的运行速度就越慢。现代编程鼓励编写更具表达力的代码,这些代码易于理解。因此,将您的代码编写为: C#: protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { lblMessage.Text = string.Empty; txtEmail.Text = string.Empty; } }