&引用;无效的JSON原语:alihack";来自ASP.NET MVC站点的错误
我们开始每天收到多个此类错误,出现在事件日志中: 无效的JSON原语:alihack。在 System.Web.Script.Serialization.JavaScriptObjectDeserializer.DeserializePrimitiveObject() 在 System.Web.Script.Serialization.JavaScriptObjectDeserializer.DeserializeInternal(Int32 深度)在 System.Web.Script.Serialization.JavaScriptObjectDeserializer.BasicDeserialize(字符串 输入,Int32 depthLimit,JavaScriptSerializer序列化程序),位于 System.Web.Script.Serialization.JavaScriptSerializer.Deserialize(JavaScriptSerializer 序列化程序,字符串输入,类型,Int32 depthLimit)位于 System.Web.Mvc.JsonValueProviderFactory.GetDeserializedObject(ControllerContext 控制器上下文)在 System.Web.Mvc.JsonValueProviderFactory.GetValueProvider(ControllerContext 控制器上下文)在 System.Web.Mvc.ValueProviderFactoryCollection.GetValueProvider(ControllerContext 控制器上下文)在 System.Web.Mvc.ControllerBase.get_ValueProvider()位于 System.Web.Mvc.ControllerActionInvoker.GetParameterValue(ControllerContext controllerContext,ParameterDescriptor ParameterDescriptor)位于 System.Web.Mvc.ControllerActionInvoker.GetParameterValues(ControllerContext controllerContext,ActionDescriptor(ActionDescriptor)位于 System.Web.Mvc.Async.AsyncControllerActionInvoker.c\uu DisplayClass21.b\uu 19(异步回调 异步回调,对象异步状态)位于 System.Web.Mvc.Async.AsyncResultRapper.WrappedAsyncResult&引用;无效的JSON原语:alihack";来自ASP.NET MVC站点的错误,asp.net,iis,cracking,Asp.net,Iis,Cracking,我们开始每天收到多个此类错误,出现在事件日志中: 无效的JSON原语:alihack。在 System.Web.Script.Serialization.JavaScriptObjectDeserializer.DeserializePrimitiveObject() 在 System.Web.Script.Serialization.JavaScriptObjectDeserializer.DeserializeInternal(Int32 深度)在 System.Web.Script.Ser
1.CallBeginDelegate(AsyncCallback
回调,对象callbackState)在
System.Web.Mvc.Async.AsyncResultRapper.WrappedAsyncResultBase
1.Begin(异步回调
回调、对象状态、Int32超时)在
System.Web.Mvc.Async.AsyncControllerActionInvoker.BeginInvokeAction(ControllerContext
controllerContext、字符串actionName、异步回调、对象
国家)在
System.Web.Mvc.Controller.b_u1c(异步回调)
asyncCallback、对象asyncState、ExecuteCoregreat innerState)位于
System.Web.Mvc.Async.AsyncResultRapper.WrappedAsyncVoid1.CallBeginDelegate(AsyncCallback
回调,对象callbackState)在
System.Web.Mvc.Async.AsyncResultRapper.WrappedAsyncResultBase
1.Begin(异步回调
回调、对象状态、Int32超时)在
System.Web.Mvc.Controller.BeginExecuteCore(异步回调,
对象状态)在
System.Web.Mvc.Controller.b__14(异步回调)
asyncCallback、对象callbackState、控制器)位于
System.Web.Mvc.Async.AsyncResultRapper.WrappedAsyncVoid1.CallBeginDelegate(AsyncCallback
回调,对象callbackState)在
System.Web.Mvc.Async.AsyncResultRapper.WrappedAsyncResultBase
1.Begin(异步回调
回调、对象状态、Int32超时)在
System.Web.Mvc.Controller.BeginExecute(RequestContext,
异步回调,对象状态)在
System.Web.Mvc.Controller.System.Web.Mvc.Async.IAsyncController.BeginExecute(RequestContext
请求上下文、异步回调、对象状态)位于
System.Web.Mvc.MvcHandler.b4(异步回调)
asyncCallback、Object asyncState、ProcessRequestState innerState)位于
System.Web.Mvc.Async.AsyncResultRapper.WrappedAsyncVoid1.CallBeginDelegate(AsyncCallback
回调,对象callbackState)在
System.Web.Mvc.Async.AsyncResultRapper.WrappedAsyncResultBase
1.Begin(异步回调
回调、对象状态、Int32超时)在
System.Web.Mvc.MvcHandler.BeginProcessRequest(HttpContextBase
httpContext、异步回调、对象状态)位于
System.Web.Mvc.MvcHandler.BeginProcessRequest(HttpContext HttpContext,
异步回调,对象状态)在
System.Web.Mvc.MvcHandler.System.Web.IHTTPassynchandler.BeginProcessRequest(HttpContext
上下文、异步回调、对象外部数据)位于
Orchard.Mvc.Routes.ShellRoute.HttpAsyncHandler.BeginProcessRequest(HttpContext
上下文、异步回调、对象外部数据)位于
System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
在System.Web.HttpApplication.ExecuteStep(IExecutionStep步骤,
布尔值(同步完成(&C))
请求转到。请求的有效负载中应该还有其他内容,因为只要正确打开此URL就会导致404
这有什么好担心的吗?我可以,我应该防止这样的错误发生,而不是返回一个错误的请求,例如?为什么首先要进行这种反序列化?此问题与的重复,但用于不同的服务器(IIS) 如果您的站点不使用PUT请求,您可以通过使用拒绝所有这些请求
(可与一起安装):
否决票可以很好地解释这一点。我在我们的ELMAH日志中注意到了同样的问题。我现在正试图找到它。太好了,如果你发现了什么,请告诉我。因为你没有使用通配符,所以可以使用patternSyntax=“ExactMatch”
<configuration>
<system.webServer>
<security>
<requestFiltering>
<verbs applyToWebDAV="false">
<add verb="PUT" allowed="false" />
</verbs>
</requestFiltering>
</security>
</system.webServer>
</configuration>
<configuration>
<system.webServer>
<rewrite>
<rules>
<rule name="Abort requests to ali.txt - alihack" patternSyntax="Wildcard" stopProcessing="true">
<match url="ali.txt" />
<conditions />
<action type="AbortRequest" />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>