如何移除ASP.NET错误消息以通过安全审计?
问题描述
在浏览器开发者工具控制台执行以下脚本后,页面返回ASP.NET默认的403错误页面:
for(var i = 0;i < 5;i++) { document.cookie = i+"="+("a").repeat(4000) }; frame=document.createElement("iframe"); frame.src ="/"; document.body.appendChild(frame);
返回的系统错误消息:
403 - 禁止访问:权限被拒绝。
您使用提供的凭据无权查看此目录或页面。
需求:替换为自定义样式的错误页面(非ASP.NET系统默认页面)。
解决方案
配置Web.config启用自定义错误
在项目的Web.config文件中,修改<system.web>节点,添加或更新<customErrors>配置,指定各状态码对应的自定义错误页面:<system.web> <customErrors mode="On" defaultRedirect="~/ErrorPages/GenericError.aspx"> <error statusCode="403" redirect="~/ErrorPages/403.aspx"/> <!-- 可按需添加404、500等其他状态码的配置 --> </customErrors> </system.web>mode="On":强制显示自定义错误,关闭系统默认页面;defaultRedirect:所有未指定状态码的错误都跳转到该通用页面;statusCode="403":专门匹配403错误,跳转到指定的自定义页面。
开发自定义403错误页面
在项目中创建对应的错误页面(如403.aspx),按照需求设计页面样式,确保页面提示清晰,风格与网站统一。IIS部署环境补充配置
如果网站部署在IIS服务器上,需额外在IIS管理器中配置:- 选中目标网站,打开「错误页」功能;
- 找到403状态码条目,点击「编辑」;
- 选择「响应URL」,输入自定义错误页面的路径(如
/ErrorPages/403.aspx),根据需求选择「执行URL并返回200状态码」或「重定向到URL」。
内容的提问来源于stack exchange,提问作者Vaibhav Dhasmana
相关产品推荐
相关产品推荐

