gpt4 book ai didi

c# - ASP.Net MVC : A potentially dangerous Request. 从客户端检测到文件值

转载 作者:行者123 更新时间:2023-12-02 00:09:58 24 4
gpt4 key购买 nike

我在我的 asp.net 页面中上传了一个文件名为“Ex&#_17.pdf”的文件,然后在后端使用 Request.Files[0] 获取文件时出现以下错误。

从客户端检测到具有潜在危险的 Request.Files 值 (filename="Ex&#_17.pdf")

如果我将文件名更改为以下类型,那么它工作正常。

  • “Ex&_#_17.pdf”
  • “Ex#&_17.pdf”
  • “Ex&_17.pdf”
  • “Ex#_17.pdf”

我假设只有文件名中的 &# 被视为潜在危险。

所以,我的问题是,是否还有任何其他特殊字符会产生此错误。

我用谷歌搜索了这个错误,但一无所获。

最佳答案

默认情况下,MVC 会尝试检测发送到服务器的可疑值,从而导致“从客户端检测到潜在的危险值。”错误。

例如,您不能发送<script>alert('hello');</script>在文本输入中。参见 ASP.NET MVC A potentially dangerous Request.Form value was detected from the client when using a custom modelbinder对于类似的错误。

因为 &#___;可用于引用 HTML Entity , 文件名 Ex&#_17.pdf是可疑的。这是这些代码的图表(感谢 Train):The HTML Coded Character Set

您可以禁用文件上传验证:

  • 我不确定是否归因于 HttpPostedFileBase ViewModel 中的属性 [AllowHtml]会工作。

  • 您也可以尝试用 [ValidateInput(false)] 标记 Action 方法.

或者按照 phonemyatt 的建议,在发布文件名之前使用客户端 JavaScript 删除或编码文件名中的可疑字符。

关于c# - ASP.Net MVC : A potentially dangerous Request. 从客户端检测到文件值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59376020/

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