c# - MVC 在使用 API 调用时允许 XSS 攻击
问题描述
我正在制作一个 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 实体编码
推荐阅读
- xml - 使用 xslt 将具有属性的元素转换为新元素
- html - 悬停框位置问题
- regex - Confluence、ldap 用户过滤器和 memberOf
- wordpress - 在基于 WooCommerce 的商店中从 FTP 导入 CSV 文件
- android - NDK 构建命令失败:使用 ndk-build 制作任何本机项目时
- performance - 监控会话的 Firestore 使用/性能
- apache-kafka - 我们可以使用 Kafka Streams API 对消息进行顺序处理吗?
- xamarin - 为什么文件打不开?具有依赖注入的 FileProvider
- android - 快速持续推送通知
- jquery - 带有模型和百里香叶的 Spring Boot Ajax 发布表单提交