MVC 在使用 API 调用时允许 XSS 攻击

MVC allows an XSS attack when using an API call

我正在制作一个 ASP.NET MVC Web 应用程序,我将使用包含以下内容的 API 调用向它发送一些数据。

{
    "content": "<script>alert('hallo');</script>",
    "title": "<script>alert('hallo');</script>"
}

如何防止服务器接受它?我知道默认情况下 MVC 中会阻止 XSS,但它似乎不起作用。这是我在服务器端的代码:

public class DefaultController : Controller
{
    [HttpPost]
    public JsonResult Create()
    {
        // ...skipped
    }
}

我错过了什么吗?

没问题。 您的服务器应该接受它。

通常的模式是:

  • 接受客户发送的东西
  • 对您发送回客户端的所有内容进行 html 实体编码