我知道我的回答引用的Java,但我觉得它至少提供一些背景(另一个原因响应大对此事发表评论)为什么我们需要的服务器/客户端输入的卫生也。
从你所引用的文件:
String Fields
To validate string fields, such as names, addresses, tax identification numbers, and so on, use regular expressions to do the following:
Constrain the acceptable range of input characters.
Apply formatting rules. For example, pattern-based fields, such as tax identification numbers, ZIP codes, or postal codes, require specific patterns of input characters.
Check lengths.
如果你还没有任何在客户端/服务器端,熟练的攻击者可能会破坏你的系统通过提供较长的输入限制此字符串/类型/验证长度字符串。事实上,这是Java中的一个问题(不确定它适用于.NET/IIS,假设它是因为.NET使用散列码实现平等,我可能也是错误的)。
这里有趣的是,我们有前两天在这里SO。
如果您可以将字符串大小限制为限制字符。您可以安全地避免这些问题。
好的答案!那么...... – markzzz 2012-02-15 13:45:09
1 - “如果你将数据传递给标准的.NET Framework对象,那么这些应该处理他们自己的卫生问题”我应该调用哪种类型的句柄?或者你的意思是“它自动调用它自己的卫生工具?” – markzzz 2012-02-15 13:45:42
2 - 是的,我的意思是“肯定”在考虑“请求验证”活动。事实上,将它变成虚假:它是一个很好的功能,我没有看到为什么要禁用它:) – markzzz 2012-02-15 13:46:24