我在 ASP NET 4 中收到以下错误:
A potentially dangerous Request.Path value was detected from the client (<).
我已经读到我需要在我的 Web.config 中使用 requestValidationMode="2.0" :
<system.web>
<compilation debug="true" targetFramework="4.0" />
<httpRuntime requestValidationMode="2.0" />
</system.web>
所以我的方法看起来像:
[ValidateInput(false)]
public ActionResult Search(string query, string type){
//method body
return result;
}
它工作得很好。但是,我无法修改我的 Web.config 文件,因为许多其他应用程序都依赖此文件,它可能会导致安全漏洞或其他地方的错误。
我的应用程序足够安全,可以接受特殊字符,但对于正在开发的系统的其余部分,我不能这么说。在我的方法中是否可以接受特殊字符作为输入?
例子:
www.mydomain.com/search/query/<myquery<ffoo/type/dept