在表单输入上清理多个空格/换行符

时间:2015-05-04 11:51:27

标签: c# asp.net regex asp.net-mvc

我接受将在公共页面上呈现的字段中的用户输入(例如,论坛上的帖子或网站上的评论)。我希望能够使用CSS属性将这些作为段落与用户的换行符一起渲染

{{1}}

这允许用户以段落格式发布,就像您正在阅读的这篇文章一样。

但是,我不希望恶意用户能够提交包含大量空白的帖子,从而大大增加了页面的长度。目前我正在尝试使用正则表达式清理输入,删除重复的空格字符(双空格或双换行符)。这有点复杂而且非常丑陋。我仍然希望用户能够提交包含空格的帖子。但编写正则表达式仍然是解决这个非常常见问题的最佳解决方案吗?

是否有一种最佳做法可以从C#/ ASP.NET中的用户输入中清除多余的空白字符,或者编写我们自己的正则表达式仍然是2015年的最佳选择?

1 个答案:

答案 0 :(得分:3)

如果恶意用户希望破坏您的网站,他们可以发布自己的内容,他们会。如果他们不能使用过多的空格,他们会滥用标记使他们的整个帖子变粗,或者他们只会发布一些Lorem Ipsum。

没有"一条规则禁止所有",所以你必须将重复的空白折叠成一个,如果你想做的话。

一种方法是使用现有的用户安全的HTML模板引擎,如Markdown,而不是自己滚动。