如何检查是否有'未知'参数在request&# 39;s查询字符串中提供

本文关键字:request 字符串 查询 未知 何检查 检查 是否 参数 | 更新日期: 2023-09-27 18:10:01

例如,如果一个查询字符串有2个期望的参数,例如:param1 = "abc",param2 = "def" .

我知道Request.QuerySring["abc"]将检查查询字符串中的"abc"。

但是,是否有任何方法来验证用户是否输入了除param1或param2以外的任何其他内容?

谢谢。

如何检查是否有'未知'参数在request&# 39;s查询字符串中提供

是的,您可以使用AllKeys:

Request.QueryString.AllKeys

获取除'param1'和'param2'之外的参数列表:

var expectedParams = new [] { "param1", "param2" };
var additionalParams = Request.QueryString.AllKeys.Where(k => !expectedParams.Contains(k));

如果您尝试检索Request.QuerySring["param1"],您将获得值abc。现在,如果用户更改了查询字符串的KEYS,您将无法接收到它,因为您正在通过KEYS检索查询字符串值。所以你不需要验证用户的输入