Asp.Net网站统一处理错误信息
1.创建Global.asax文件
2.在Application_Error里统一处理,可以写入文件,也可以写入SQL。代码如下
Exception ex = Server.GetLastError().GetBaseException();
StringBuilder sb = new StringBuilder();
sb.AppendLine(DateTime.Now.ToString("yyyy.MM.dd HH:mm:ss")); //有被注入风险
string ip = ""; if (Request.ServerVariables.Get("HTTP_X_FORWARDED_FOR") != null)
{
ip = Request.ServerVariables.Get("HTTP_X_FORWARDED_FOR").ToString().Trim();
}
else
{
ip = Request.ServerVariables.Get("Remote_Addr").ToString().Trim();
} sb.AppendLine("IP地址:" + ip);
sb.AppendLine("浏览器:" + Request.Browser.Browser.ToString());
sb.AppendLine("浏览器版本:" + Request.Browser.MajorVersion.ToString());
sb.AppendLine("操作系统:" + Request.Browser.Platform.ToString());
sb.AppendLine("错误信息:");
sb.AppendLine("请求地址:" + Request.Url.ToString());
sb.AppendLine("错误信息:" + ex.Message);
sb.AppendLine("错误源:" + ex.Source);
sb.AppendLine("异常方法:" + ex.TargetSite);
sb.AppendLine("堆栈信息:" + ex.StackTrace);
sb.AppendLine("===================================================================================================================="); string logFilePath = Server.MapPath("~/log/"); if (!Directory.Exists(logFilePath))
{
Directory.CreateDirectory(logFilePath);
} File.AppendAllText(logFilePath + DateTime.Now.ToString("yyyy.MM.dd") + ".log", sb.ToString(), Encoding.UTF8); Server.ClearError();
Response.Redirect("myError.htm");
对于注入问题可看
http://www.cnblogs.com/kingthy/archive/2007/11/24/970783.html
http://www.cnblogs.com/chengmo/archive/2013/05/29/php.html
Asp.Net网站统一处理错误信息的更多相关文章
- 在ASP.NET 5中显示错误信息
在 ASP.NET 5 中如果不进行显示错误信息的相关配置,在发生错误时,在浏览器中只能看到空白页面. 显示错误信息的配置方法如下: 1)在 project.json 中添加对 Microsoft.A ...
- asp.net网站底部的版权信息实现代码且可维护
网站底部的版权信息在特殊情况还是比较重要的所以在实现的时候一定要尽可能的做到可维护性,接下来将介绍一些技巧可达到可维护效果,感兴趣的你可不要错过了哈 一个大网站页面很多,如果每个版权信息直接写在下面, ...
- ASP.NET网站运行常见错误以及解决方法(持续更新)
一.A potentially dangerous Request.Form value was detected from the client 用户在页面上提交表单到服务器时,服务器会检测到一些潜 ...
- ASP.NET 网站迁移 HTTP 错误 500.22 - Internal Server Error 检测到在集成的托管管道模式下不适用
前提:今天要做网站迁移,把A服务器上的网站迁移到B服务器上,A服务器当时的环境是.NET 4.0 ,而B服务器是.NET2.0,A服务器IIS为6.0,B服务器IIS版本为7.0 第一步,先在B服务 ...
- IIS- ASP站点布署时查看ASP错误信息
ASP使用的脚本是VBSCRIPT,布置的时候想显示他的错误信息,可以在INTERNET选项里把显示友好http错误信息的勾去掉 就能查看ASP布署时查看错误信息的勾去掉.
- 构建ASP.NET网站十大必备工具(2)
正常运行时间 当一个网站发布以后,你肯定希望你的网站不会遇到任何问题,一直处在正常运行状态之中.现在,我使用下面这些工具来监控“Superexpert.com”网站,确保它一直处在正常运行状态之中. ...
- 构建ASP.NET网站十大必备工具
最近使用ASP.NET为公司构建了一个简单的公共网站(该网站的地址:http://superexpert.com/).在这个过程中,我们使用了数量很多的免费工具,如果把构建ASP.NET网站的必备工具 ...
- IIS7显示ASP的详细错误信息到浏览器
服务端环境:Windows2008 + IIS7 客户端浏览器设置:取消“显示友好的HTTP错误信息” IIS7设置(GUI): 1. 网站->ASP->调试属性->将错误发送到浏览 ...
- Asp.net 程序部署问题——在应用程序级别之外使用注册为 allowDefinition='MachineToApplicati错误信息
[转]在应用程序级别之外使用注册为 allowDefinition='MachineToApplicati 错误信息: ======================================== ...
随机推荐
- Linux组件封装(二)中条件变量Condition的封装
条件变量主要用于实现线程之间的协作关系. pthread_cond_t常用的操作有: int pthread_cond_init(pthread_cond_t *cond, pthread_conda ...
- Python命令行选项參数解析策略
概述 在Python的项目开发过程中,我们有时须要为程序提供一些能够通过命令行进行调用的接口.只是,并非直接使用 command + 当前文件 就ok的,我们须要对其设置可选的各种各样的操作类型.所以 ...
- 高速排序java语言实现
本博客不再更新,很多其它精彩内容请訪问我的独立博客 高速排序是非常重要的排序算法,可是我在学的时候发现网上没有特别好的样例所以自己动手写了一个. 自己动手丰衣足食. package sort; imp ...
- close_wait状态的产生原因及解决(转)
最近测试环境server由于需要与大量的后台server交互,今天突然发现有大量的close_wait产生,于是仔细研究了一下: 如果我们的服务器程序处于CLOSE_WAIT状态的话,说明套接字是被动 ...
- Android错误之--Error retrieving parent for item: No resource found that matches the given name 'Theme.A
错误提示:error: Error retrieving parent for item: No resource found that matches the given name 'Theme.A ...
- Prometheus入门
什么是TSDB? TSDB(Time Series Database)时序列数据库,我们可以简单的理解为一个优化后用来处理时间序列数据的软件,并且数据中的数组是由时间进行索引的. 时间序列数据库的特点 ...
- Python:Dom生成XML文件(写XML)
http://www.ourunix.org/post/327.html 在python中解析XML文件也有Dom和Sax两种方式,这里先介绍如何是使用Dom解析XML,这一篇文章是Dom生成XML文 ...
- web-小知识点(随记)
1.position:fixed:窗口定位的时候(在刷新页面时若未出现.得稍等一会的话,就直接把需要定位的内容写在<html>标签的首部.这样页面加载html的时候首先加载fixed定位的 ...
- OpenGL三角形的双面不同颜色的绘制
对于一个三角形,我要给它正反面不同的颜色.然后通过旋转,看出它的效果. 我只想到了2种方法,下面我来写一下这两种方法. 第一种方法,通过角度的判断重设glColor3f的参数(这种方法局限性很大,不推 ...
- webpack 功能大全 【环境配置】
1. webpack简介 webpack 是一个模块打包工具.它使得模块相互依赖并且可构建等价于这些模块的静态资源.相比于已经存在的模块打包器(module bundler),webpack的开发动机 ...