这真的很奇怪 - 我已经运行了一个MVC应用程序,包括Login
类中的ServicesController
方法:
public ActionResult Login() {
var p = Request.Params;
var userName = p["username"];
var password = p["password"];
// etc...
}
奇怪的是,当我用请求调用服务时:
/services/login?username=myusername&password=password
我进入代码并发现userName
是“anotherusername,myusername”。根据我正在使用的浏览器,我获得了不同的值来代替“anotherusername”,我从其他正在开发的应用程序中识别出来。那么“用户名”是某种不应该用作参数名称的保留字吗?哪些其他保留字不能安全地用作参数?
答案 0 :(得分:3)
Request.Params
结合了Request.QueryString
,Request.Form
,Request.ServerVariables
和Request.Cookies
的值。我希望第二个值是服务器变量或cookie。您可以通过检查每个集合来查找您的请求。
请尝试检查Request.QueryString
(GET请求)或Request.Form
(POST请求)。