首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >正在获取“从客户端检测到潜在危险的Request.Path值(&)”

正在获取“从客户端检测到潜在危险的Request.Path值(&)”
EN

Stack Overflow用户
提问于 2011-05-17 10:11:42
回答 5查看 202.2K关注 0票数 119

我有一个遗留的代码问题,要求我支持随机urls,就像它们是对主页的请求一样。某些Request.Path中包含的字符会生成错误“从客户端(&)检测到潜在危险的URL值”URL。该站点是用IISMVC3(在C#中)编写的,并在ASP.Net 7.5上运行。

下面是一个示例URL。

代码语言:javascript
复制
http://mywebsite.com/Test123/This_&_That

下面是我如何设置我的所有路由(我还有其他路由来捕获特定的页面)……

代码语言:javascript
复制
routes.MapRoute(
    "Default", // Route name
    "{garb1}/{garb2}", // URL with parameters
    new { controller = "Website", action = "Home", garb1 = UrlParameter.Optional, garb2 = UrlParameter.Optional } // Parameter defaults
);

我已经将以下内容添加到我的web.config文件中...

代码语言:javascript
复制
<configuration>
    <system.web>
        <pages validateRequest="false" />
        <httpRuntime requestValidationMode="2.0" />
    </system.web>
<configuration>

我还向应该捕获urls的操作添加了ValidateInput属性...

代码语言:javascript
复制
public class WebsiteController : Controller
{
    [ValidateInput(false)]
    public ActionResult Home()
    {
        return View();
    }
}

但是我还是得到了错误。你知道为什么吗?我错过了什么吗?现在我只是在我的本地开发服务器上运行(我还没有在生产中尝试这些修复)。

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2011-05-17 12:36:40

虽然您可以在配置文件中尝试这些设置

代码语言:javascript
复制
<system.web>
    <httpRuntime requestPathInvalidCharacters="" requestValidationMode="2.0" />
    <pages validateRequest="false" />
</system.web>

我会避免在URL路径中使用像“&”这样的字符,而用下划线代替它们。

票数 165
EN

Stack Overflow用户

发布于 2016-05-12 05:51:22

我曾经遇到过这种类型的错误。从剃刀中调用函数。

代码语言:javascript
复制
public ActionResult EditorAjax(int id, int? jobId, string type = ""){}

通过改变线路解决了这个问题

从…

代码语言:javascript
复制
<a href="/ScreeningQuestion/EditorAjax/5&jobId=2&type=additional" /> 

代码语言:javascript
复制
<a href="/ScreeningQuestion/EditorAjax/?id=5&jobId=2&type=additional" />

我的route.config在哪里

代码语言:javascript
复制
routes.MapRoute(
            "Default", // Route name
            "{controller}/{action}/{id}", // URL with parameters
            new { controller = "Home", action = "Index", id = UrlParameter.Optional }, new string[] { "RPMS.Controllers" } // Parameter defaults
        );
票数 6
EN

Stack Overflow用户

发布于 2013-02-19 13:09:25

如果您想在mvc中只允许几个文本框使用Html标记

你可以做一件事

在控制器中

代码语言:javascript
复制
 [ValidateInput(false)]
public ActionResult CreateNewHtml()  //view
{
    return View();
}
[ValidateInput(false)]
[HttpPost]
public ActionResult CreateNewHtml(cbs obj)//view cbs is database class
{
    repo.AddHtml(obj);
    return View();
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6025522

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档