对于字符串参数,我们必须在action方法中对它们进行清理,如下所示:
public ActionResult Browse(string genre)
{
string message = HttpUtility.HtmlEncode(genre);
return View(message);
}
Run Code Online (Sandbox Code Playgroud)
是否有必要如下消毒非弦乐参数?
public ActionResult Details(int id)
{
int data = int.Parse(HttpUtility.HtmlEncode(id));
return View(data);
}
Run Code Online (Sandbox Code Playgroud)
就个人而言,我建议在视图中清理这些输入.如果您使用的是WebForms视图引擎,则可以使用它<%: ... %>来执行此操作,或者如果您使用的是Razor,则可以使用@运算符.这也使得数据流通过系统视图独立,因此您可以更轻松地共享数据和模型.
例如,在将数据存储在数据库中之前对HTML编码数据使得很难在将来某个日期创建将数据作为CSV文件输出的视图.如果视图负责执行此操作,则视图可以选择适合其自己的应用程序的CSV编码或HTML编码.
| 归档时间: |
|
| 查看次数: |
2896 次 |
| 最近记录: |