gpt4 book ai didi

asp.net - 当我在表单中提交 HTML 字符时,为什么 ASP.NET 会抛出内部服务器 (500) 错误?

转载 作者:行者123 更新时间:2023-12-02 14:15:15 25 4
gpt4 key购买 nike

当我在表单中输入 HTML 字符时,例如 <br /> ,ASP.NET 抛出内部 500 异常,如所述 here .

A potentially dangerous Request.Form value was detected from the client (Name="<br />").

好的,它可以保护我免受可能被用于恶意目的的未编码字符的影响。

问题是,在我漫长的搜索中没有找到答案,就是该怎么办。 IE。当用户输入错误字符时,我的应用程序不应该仅仅抛出一般的内部服务器错误(如果他们绘制诸如 <-- 之类的箭头怎么办)。

更好的方法是简单地返回带有 ModelState 的页面。错误提示“请不要使用 HTML 字符”或其他有意义的内容。

但是如何实现这一目标呢?该错误在到达我的代码之前就被抛出了。另外,我不想只是通过 validateRequest="false" 将其关闭然后必须验证应用程序中每个表单的 HTML 字符并返回错误。

有没有办法让这种类型的验证保持启用状态,但只是以不同的方式处理它?<​​/strong>

澄清代码:

Model

Public Class SomeModel
Public Property SomeField As String
End Class

Controller

<HttpPost>
Function SomeController(ByVal model As SomeModel)
' model.SomeField contains some HTML characters :O
' but it doesn't matter, since an internal error has occured :(
End Function

最佳答案

您是否尝试过添加 AllowHtml属性到你的 View 模型的属性?

关于asp.net - 当我在表单中提交 HTML 字符时,为什么 ASP.NET 会抛出内部服务器 (500) 错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15353512/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com