c# - 允许文本框中的 html 和特殊字符。从客户端检测到潜在危险的 Request.Form 值
问题描述
ASP.NET 在请求中检测到具有潜在危险的数据,因为它可能包含 HTML 标记或脚本。这些数据可能表示试图破坏您的应用程序的安全性,例如跨站点脚本攻击。如果这种类型的输入适合您的应用程序,您可以在网页中包含代码以明确允许它
解决方案
除非您禁用对给定控制器方法的验证,否则 ASP.NET 将不接受已发布数据中的 HTML。
就像是
[ValidateInput(false)]
[HttpPost]
public ActionResult DoStuff(InputModel model)
另一种方法是在可能包含 HTML 的 InputModel 属性上使用 [AllowHtml]
public class InputModel {
[AllowHtml]
public string HtmlData { get; set; }
public string PlainTextData { get; set; }
最后一种方法是最安全的,它只允许在一个特定属性上使用 HTML。第一种方法允许在 InputModel 类的所有字符串属性上使用 HTML,包括PlainTextData
推荐阅读
- wordpress - WP_Query 按两个值排序
- javascript - 在javascript对象中聚合具有相同值的键
- android - Android自定义监听器回调到不同的地方
- angular - Angular 6 - 将字符串显示为标题并删除特殊字符
- android - Imageview 到 InputStream
- django - 如何生成 oracle 特定的查询 django
- javascript - 三 JS - sao 后处理不受雾的影响
- jenkins - 通过 Slack 命令触发 Jenkins 作业 - 403_client_error
- python - 重用从数据库实例化的对象
- c++ - c++ - 从文件中读取数据到队列中