jquery - 从客户端检测到潜在危险的 Request.Path 值

标签 jquery model-view-controller asp.net-mvc-3

我完全不知道为什么会收到此错误。此错误的典型原因与尝试将 HTML 标记提交到文本字符串或类似的内容有关,但我没有做类似的事情。我认为这是在一个简单的电子邮件地址中发生的页面。

这是我的经过验证的模型...

public class Subscriber
{
    [Key]
    [DisplayName("Email Address")]
    [Required(ErrorMessage = "{0} is required")]
    [RegularExpression(@"^([a-zA-Z0-9_\-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([a-zA-Z0-9\-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})$", ErrorMessage = "{0} must be a valid email address")]
    public string EmailAddress { get; set; }

    public Guid UnsubscribeKey { get; set; }
}

这是我的脚本引用,因为错误似乎位于脚本目录中...

<script src="@Url.Content("~/Scripts/jquery-1.5.2.min.js")" type="text/javascript"></script>

<script src="@Url.Content("~/Scripts/jquery.validate.min.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/jquery.validate.unobtrusive.min.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/jquery.unobtrusive-ajax.min.js")" type="text/javascript"></script>

<script src="@Url.Content("~/Scripts/modernizr-1.7.min.js")" type="text/javascript"></script>

我的最佳猜测是,有人恶意在电子邮件地址中输入一些无效脚本,但我在 Elmah 或 CodeSmith Insight 中没有看到任何指向我的任何代码的错误。我什至不知道这到底发生在哪里。

这是错误...

从客户端 (:) 检测到潜在危险的 Request.Path 值。 (/NewsList/Scripts/,data:c,complete:function(a,b,c){c=a.responseText,a.isResolved()&&(a.done(function(a){c=a}), i.html(g)

System.Web.HttpException (0x80004005):从客户端 (:) 检测到潜在危险的 Request.Path 值。 在 System.Web.HttpRequest.ValidateInputIfRequiredByConfig() 在 System.Web.HttpApplication.PipelineStepManager.ValidateHelper(HttpContext 上下文)

在 System.Web.HttpRequest.ValidateInputIfRequiredByConfig() 在 System.Web.HttpApplication+PipelineStepManager.ValidateHelper(HttpContext 上下文)

路径中存在非法字符。

System.ArgumentException:路径中存在非法字符。 在 System.IO.Path.CheckInvalidPathChars(字符串路径) 在 System.Security.Permissions.FileIOPermission.HasIllegalCharacters(String[] str) 在System.Security.Permissions.FileIOPermission.AddPathList(FileIOPermissionAccess访问,AccessControlActions控制,String [] pathListOrig, bool checkForDuplicates, bool needFullPath, bool copyPathList) 在 System.Security.Permissions.FileIOPermission..ctor(FileIOPermissionAccess 访问,字符串路径) 在 System.Web.InternalSecurityPermissions.PathDiscovery(字符串路径) 在 System.Web.HttpRequest.get_PhysicalPath() 在 WebsitePanel.IIsModules.SecureFolders.context_OnEnter(对象发送者,EventArgs e) 在 System.Web.HttpApplication.SyncEventExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() 在 System.Web.HttpApplication.ExecuteStep(IExecutionStep 步骤, bool 值&completedSynchronously)

at System.IO.Path.CheckInvalidPathChars(字符串路径) 在 System.Security.Permissions.FileIOPermission.HasIllegalCharacters(String[] str) 在System.Security.Permissions.FileIOPermission.AddPathList(FileIOPermissionAccess访问,AccessControlActions控制,String [] pathListOrig, bool checkForDuplicates, bool needFullPath, bool copyPathList) 在 System.Security.Permissions.FileIOPermission..ctor(FileIOPermissionAccess 访问,字符串路径) 在 System.Web.InternalSecurityPermissions.PathDiscovery(字符串路径) 在 System.Web.HttpRequest.get_PhysicalPath() 在 WebsitePanel.IIsModules.SecureFolders.context_OnEnter(对象发送者,EventArgs e) 在 System.Web.HttpApplication+SyncEventExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() 在 System.Web.HttpApplication.ExecuteStep(IExecutionStep 步骤, bool 值&completedSynchronously)

更新 - 可能已解决 在绞尽脑汁地思考这个问题后,我在堆栈跟踪中看到了“WebsitePanel.IIsModules.SecureFolders”,这震撼了我的内存。我记得在我的托管提供商上看到过一些有关安全文件夹的信息。这个功能隐藏在他们的控制面板中,根据该方法这是有意义的。我给他们发了电子邮件并要求他们禁用该模块。已经好几天没有出现这种情况了,所以我怀疑就是这样。

最佳答案

由于异常表明请求路径中存在非法字符,更具体地说,冒号字符不正确 (:) = "从客户端检测到潜在危险的 Request.Path 值 (:)。"

您的请求似乎包含:

"(/NewsList/Scripts/,data:c,complete:function(a,b,c){c=a.responseText,a.isResolved()&&(a.done(function(a){c= a}),i.html(g"

<小时/>

从客户端 (:) 检测到潜在危险的 Request.Path 值。 (/NewsList/Scripts/,data:c,complete:function(a,b,c){c=a.responseText,a.isResolved()&&(a.done(function(a){c=a}), i.html(g)

System.Web.HttpException (0x80004005):从客户端 (:) 检测到潜在危险的 Request.Path 值。在 System.Web.HttpRequest.ValidateInputIfRequiredByConfig() 在 System.Web.HttpApplication.PipelineStepManager.ValidateHelper(HttpContext context)

在 System.Web.HttpRequest.ValidateInputIfRequiredByConfig() 在 System.Web.HttpApplication+PipelineStepManager.ValidateHelper(HttpContext context)

路径中存在非法字符。

<小时/>

关于jquery - 从客户端检测到潜在危险的 Request.Path 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7225027/

相关文章:

java - 应用程序设计MVC模式

asp.net-mvc - 我应该在 Controller 中使用 Entity Framework 类还是模型类?

javascript - ASP.NET MVC 部分 View ajax 帖子?

javascript - document.getElementsByClassName() 不工作

Javascript + MVC + 用户界面

javascript - data-id 是否违反关注点分离

javascript - 这是 firefox 或 jquery 中的错误还是我做错了什么?

JQuery load() 和国家字母(如 ę、ą、ć)

asp.net-mvc-3 - IIS 中缺少 UrlRoutingModule

asp.net-mvc-3 - webapi上传时出现"MIME multipart stream. MIME multipart message is not complete"错误