从客户端(:)检测到一个潜在危险的Request.Path值-角度http请求



从客户端检测到潜在危险的Request.Path值(:)。

描述:在执行当前web请求期间发生未处理的异常。请查看堆栈跟踪以了解有关错误以及错误在代码中的来源的更多信息。

异常详细信息:System.Web.HttpException:从客户端检测到潜在危险的Request.Path值(:)。

来源错误:

在执行当前web请求期间生成了未处理的异常。可以使用下面的异常堆栈跟踪来识别有关异常的起源和位置的信息。

堆栈跟踪:

[HttpException(0x80004005):从客户端检测到潜在危险的请求。路径值(:)。]System.Web.HttpRequest.ValideInputIfRequiredByConfig()+9560004 System.Web.PipelineStepManager.ValideHelper(HttpContext上下文)+53

我的代码:

 public List<GetPlayersSiteGoalViewModel> GetPlayers(string teamUrl)
 {
     var playersSiteGoal = new List<GetPlayersSiteGoalViewModel>();
     return playersSiteGoal;
 }

角度服务方法:

 dataBaseService.getPlayers = function (param) {
                return $http({
                    method: 'GET',
                    url: getBaseUrl() + dataBaseService.apiController + '/GetPlayers/' + param.TeamUrl
                });
            };

更新:

param.TeamUrl:

http://www.goal.com/en-us/teams/italy/juventus/1242?ICID=SP_TN_82

我该如何解决这个问题?

我找到了。

替换此:

dataBaseService.getPlayers = function (param) {
                return $http({
                    method: 'GET',
                    url: getBaseUrl() + dataBaseService.apiController + '/GetPlayers/' + param.TeamUrl
                });
            };

这个:

 dataBaseService.getPlayers = function (param) {
                return $http({
                    url: getBaseUrl() + dataBaseService.apiController + '/GetPlayers',
                    params: { teamUrl: param.TeamUrl }
                });
            };

我认为这里的答案可能会有所帮助:URL路由、图像处理程序&quot;一个潜在危险的请求路径值";

看起来?被ASP.NET标记为URL中的无效字符。

编辑

回过头来重新阅读错误消息,看起来:是问题的根源。虽然我在你传递的url中没有看到它,但它看起来像是在某个地方被添加到url中(可能是getBaseUrl()?)。即使你解决了这个问题,我认为你会在?中得到另一个错误,这是基于链接问题中答案提供的无效列表。

编辑2

您可以通过添加:和?按照该链接所显示的方式设置为web.config的<httpRuntime requestPathInvalidCharacters属性,或者按照Scott Hanselman在该答案底部的链接中所显示的操作:http://www.hanselman.com/blog/ExperimentsInWackinessAllowingPercentsAnglebracketsAndOtherNaughtyThingsInTheASPNETIISRequestURL.aspx

相关内容

最新更新