最近发现 输入查询信息时,不小心粘贴了html,然后就提示从客户端中“” <div class="clear"></div>“”检测到有潜在危险的 Request.Form 值错误。
调试跟踪之后发现,解码编码查询条件值根本不起作用,因为未进入查询条件方法之前,.net已经捕获异常。
1.目前使用在页面加上了
<%@ Page Language="C#" AutoEventWireup="true" MasterPageFile="~/pages/common/master/home.master" CodeFile="select-project-by-permission.aspx.cs" Inherits="pages_popup_select_project_by_permission" ValidateRequest="false"%>
结果 没有报错。
2.因安全性低,未采用验证。
在web.config中的pages节中配置validateRequest="false",如:
<pages validateRequest="false" ></pages >
</system.web >
但这样,整个项目中的所有Form请求都不再验证提交内容的安全性,极不提倡这种做法。
查询过程中发现设置全局有问题,ASP.NET4.0设置 validateRequest="false"会失效。原因:https://www.cnblogs.com/tangfd405/p/3162836.html
需添加<httpRuntime requestValidationMode="2.0"/>
资料查询地址:https://docs.microsoft.com/en-us/aspnet/whitepapers/request-validation