在 IIS 6 / ASP.NET Web 表单中记录服务器范围的请求数据(包括 POST 数据)

2024-02-28

这是大局。我们正在 IIS 6 中运行一台服务器,该服务器托管多个网站和应用程序,并且我们正在将整个服务器迁移到设置略有不同的不同数据中心。我们已经通知了我们的用户并更新了我们的 DNS 信息,这样理论上每个人都会从第一天起就高兴地访问新服务器,但我们知道有人不可避免地会被遗漏。

权力需要一个“监听器”页面/处理程序来接收all向服务器发出请求并将整个请求记录到文本文件中,包括(特别是)POST 数据。

这就是我被困住的地方。我不知道如何实现一个处理程序来接收对服务器的所有请求。我隐约了解 IIS 6 重定向选项,但它们似乎都丢失了重定向上的 POST 数据。我也对 IIS 6 的内置日志记录有所了解,但它也忽略 POST 数据。

是否有一种简单的方法将所有请求路由到服务器,以便它们都命中单个处理程序,同时维护发布数据?

编辑:这是在 WebForms 中,如果这很重要,但其他解决方案(如果很小)绝对值得考虑。


如果所有请求都是 POST 到 ASP.NET 表单,那么您可以插入一个HttpModule捕获并记录此数据。

您也不必重建所有应用程序来部署它。所需要的只是放弃HttpModule到每个应用程序的/bin文件夹并将其添加到<httpModules>你的部分web.config文件。例如:

using System;
using System.Diagnostics;
using System.Web;

public class SimpleLogger : IHttpModule
{
  private HttpApplication _application;

  public void Dispose() { }

  public void Init(HttpApplication context)
  {
    _application = context;
    context.BeginRequest += new EventHandler(Context_BeginRequest);
  }

  void Context_BeginRequest(object sender, EventArgs e)
  {
    foreach (string key in _application.Request.Form.AllKeys)
    {
      // You can get everything on the Request object at this point
      // Output to debug but you'd write to a file or a database here.
      Debug.WriteLine(key + "=" + _application.Request.Form[key]);
    }
  }
}

In your web.config文件添加记录器:

<httpModules>
  <add name="MyLogger" type="SimpleLogger, SimpleLogger"/>
</httpModules>

不过要小心。如果您的网站捕获信用卡详细信息或其他敏感数据。您可能需要确保此信息被过滤掉或对其进行加密,并且远离不需要查看此信息的人员。

此外,如果您要记录到文件,请确保日志文件位于任何面向公众的 Web 文件夹之外。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 IIS 6 / ASP.NET Web 表单中记录服务器范围的请求数据(包括 POST 数据) 的相关文章

  • 需要一个好的 ASP.NET 菜单

    我正在寻找一个可以在 ASP NET 中使用的好菜单 我目前使用的是asp菜单 我需要 它可以在 IE 6 7 8 Firefox 和 Safari 中运行 我还需要它不要给页面客户端增加大量开销 我需要能够从数据库加载它 编写您自己的服务
  • 无法加载文件或程序集“System.Web.Razor”或其依赖项之一

    我在我的网站 Web 应用程序 中使用了 Umbraco 4 11 6 我的网站在 localhost 中工作 通过 Visual Studio 2012 和 IIS v7 进行测试 但是当我从互联网空间运行它时 出现错误 错误是 无法加载
  • 具有自定义设计的 ASP.NET 复选框

    有没有办法改变asp net复选框的ui样式 我试过这个 cabeceraCheckBoxNormal background url ig res Default images ig checkbox off gif no repeat c
  • 自定义模板化 ASP.NET 控件的双向数据绑定

    这个问题最初是关于让双向绑定工作的 但由于缺乏具体的答案和其他方面的进展 我一直在更新它 你可以检查编辑历史记录 但我认为这对于明晰 下面列出的代码允许将单个对象双向数据绑定到模板化控件 我想以最简单的方式扩展此示例 以允许针对最根对象的复
  • 如何查看点击 HTML 按钮时发出的 POST 请求的地址?

    我正在创建一个涉及网络抓取和网络自动化的项目 我想首先提交此表格 http rgsntl rgs cuhk edu hk rws prd applx2 Public tt dsp timetable aspx http rgsntl rgs
  • 这个重写规则是什么意思?

    我正在安装 phpancake 有一个像这样的文件夹 application install library public sql schema install html install php 这条规则意味着什么 RewriteEngin
  • App_offline.htm、CSS、图像和 aspnet_isapi.dll

    因此 我正在开发的网站正在使用 urlrewriting 与 aspnet isapi dll 配合 所有内容都映射到它 我放置了 app offline htm 文件 所有文本均显示 但是 CSS 或图像未提供 我猜测由于通配符映射而不是
  • 同源政策目的可疑

    正如我所读到的 同源策略是防止源自 邪恶 域 A 的脚本向 良好 域 B 发出请求 换句话说 跨站点请求伪造 玩了一下我了解到的Access Control Allow Origin标头和CORS据我了解 它允许从好域 B 指定服务器 域
  • 如何强制网站的某些部分在 SSL 下浏览?

    我们网站上的某些部分或页面涉及敏感的用户或帐户信息 我想强制用户在 HTTPS 下浏览这些页面 而其他包含公共内容的页面应在 HTTP 下可用 我打算在 IIS 上安装 url Rewrite 模块并编写规则来实现此目的 我不知道如何在 w
  • PreRequestHandlerExecute 中的会话为空

    在我的 ASP NET 4 0 应用程序中 我在 global asax cs 中有一个 PreRequestHandlerExecute 的事件处理程序 我想访问会话中的数据 大多数时候 会话是被定义的 但有时它是空的 有人可以解释一下什
  • 为什么当输入很大时,asp.net 找不到合适的 apicontroller?

    我有一个功能可以立即保存我的实体列表 public void Save IEnumerable
  • 在 Visual Studio 2019 中安装 OData v4 客户端代码生成器

    我制作了一个 OData 服务 我想制作一个客户端程序来调用该服务 我想使用 OData v4 客户端代码生成器 但无法在 Visual Studio 2019 中安装它 只能在 vs2017 中安装 在vs2019中如何安装 由于 Rah
  • 使用 Razor View Engine 将内容从部分视图 ASP.NET MVC 3 注入特定部分

    我在我的中定义了此部分 Layout cshtml RenderSection Scripts false 我可以轻松地从视图中使用它 section Scripts Stuff comes here 我正在努力解决的是如何从部分视图中注入
  • Go客户端程序生成大量TIME_WAIT状态的socket

    我有一个 Go 程序 它从多个 goroutine 生成大量 HTTP 请求 运行一段时间后 程序报错 connect cannot allocaterequestedaddress 当检查时netstat 我得到大量 28229 个连接T
  • 转义用户数据,无需魔法引号

    我正在研究如何在来自外部世界的数据被用于应用程序控制 存储 逻辑等之前正确地对其进行转义 显然 随着 magic quote 指令在 php 5 3 0 中很快被弃用 并在 php6 中被删除 对于任何想要升级并进入新语言功能 同时维护遗留
  • Logback:SizeAndTimeBasedRollingPolicy 不遵守totalSizeCap

    我正在尝试以一种方式管理我的日志记录 一旦达到总累积大小限制或达到最大历史记录限制 我最旧的存档日志文件就会被删除 当使用SizeAndTimeBasedRollingPolicy在 Logback 1 1 7 中 滚动文件追加器将继续创建
  • C# 静态类型不能用作参数

    public static void SendEmail String from String To String Subject String HTML String AttachmentPath null String Attachme
  • C#.Net 邮件将进入垃圾邮件文件夹

    我正在从 ASP net Web 应用程序发送电子邮件 邮件发送成功 没有失败 但大多数都进入了垃圾邮件文件夹 请帮助我克服垃圾邮件过滤器 我的发送邮件代码 public void SendMail string FromAddress s
  • C# 获取数据表中所有重复行的计数

    我通过运行存储过程来填充数据集 并且从数据集中填充数据表 DataSet RawDataSet DataAccessHelper RunProcedure storedprocedureName this will just return
  • 从后面的代码添加外部 css 文件

    我有一个 CSS 文件 例如 SomeStyle css 我是否可以将此样式表文档从其代码隐藏应用到 aspx 页面 您可以将文字控件添加到标头控件中 Page Header Controls Add new System Web UI L

随机推荐

  • Primefaces textEditor:使用 JavaScript 将文本转换为 HTML 不起作用

    首先我要声明这是我的第一个问题 我是这个社区的新人 请善待我 不要犹豫地纠正我 引导我到哪里可以找到答案或学习等 我发布这个问题是为了找到解决方案的最后希望 因为我自己 也没有在同事的帮助下 没有找到或提出任何解决方案 基本上PrimeFa
  • 引入条件时无法使用 fillna

    我对 python 很陌生 尝试对我的数据进行一些插补 然而 我无法做到 这是简单的代码 df a df loc df c gt 0 df c lt 43 a 1 df loc df c gt 44 df c lt 96 a 2 df lo
  • 如何在 macOS 上安装 dbus-python?

    在第一步 配置时 出现以下错误 checking for DBUS no configure error Package requirements dbus 1 gt 1 6 were not met No package dbus 1 f
  • 将访问过的链接颜色设置为未访问过的链接的颜色(P.S.不是常见问题)

    我需要将 a visited CSS 设置为whatever正常 a 设置的颜色 我希望能够告诉浏览器的是 对于已访问的链接 使用与未访问的链接相同的颜色 无论它是什么颜色 我需要这样做不指定特定颜色 例如 如果出现一些奇怪的浏览器 使用
  • 如何在hadoop中运行jar文件?

    我使用 java 文件创建了一个 jar 文件这个博客 http java dzone com articles hadoop basics creating使用以下语句 javac classpath usr local hadoop h
  • 具有动态变化内容的 QScrollArea

    I have a QScrollArea with some buttons in it like shown on the picture 布局的思路是 1 左右按钮太宽时应使用滚动按钮 2 滚动区域按钮数量可动态改变 3 应利用任何可用
  • 捕获 ASP.NET WebService 上的 WebMethod 引发的自定义异常

    我有一个经典的 asp net Web 服务 asmx 和其中的一个 Web 方法 我需要在 Web 方法中针对某些情况抛出自定义异常 并且需要在调用 Web 服务方法时捕获特定的自定义异常 WebService Namespace htt
  • 从 Google API 获取点击次数

    我试图找到一种方法来做到这一点 但没有成功 我正在寻找一种方法来找出搜索获得的点击次数 并且我不想手动执行此操作 或者通过 html 代码使用正则表达式搜索 当然 Google API 必须有一个简单的方法来做到这一点 有人知道其中一个吗
  • 无法启动 OpenDebug,因为需要 Mono(或 Mono 版本 >= 3.10.0)

    我已在 ubuntu 14 0 lts 中下载并安装 vscode 并包含现有的 node js 项目 首先我认为我与 vscode 相关的是调试我的应用程序 因为我必须去调试 ctrl shift D 惩罚 使用 name 和 progr
  • 如何在 asp.net 中获取服务器/网站 IP 地址?

    当用户请求进来时 我可以使用 Context Request UserHostAddress 来获取用户的 IP 地址 如何在运行时获取网站 服务器的IP地址 我有一些报告代码可供同一服务器上的多个网站使用 并且每个网站使用不同的 IP 地
  • 将 XML JUnit 报告转换为 HTML [重复]

    这个问题在这里已经有答案了 到目前为止 我一直在为 Protractor 测试生成 junit xml 报告 但随着测试的增加 我需要获取测试的 HTML 报告 我们可以使用 XSLT 将 junit xml 报告更改为 HTML 吗 如果
  • Django 设置存储引擎和默认字符集

    从我的创建我的表models py 我不知道该怎么做两件事 我想指定MySQL创建我的一些表InnoDB 一些作为MyISAM 我该怎么做 我还想指定我的桌子DEFAULT CHARSET as utf8 我该怎么做 这是我跑步时看到的sy
  • 使用 Selenium Webdriver 处理 Windows 身份验证

    C 中基于 Selenium Webdriver 的测试必须使用 Windows 身份验证登录 我尝试了几种方法 Driver SwitchTo Alert Driver FindElement By Id UserName SendKey
  • 使用python连接ftp服务器

    我尝试使用 python 代码连接到手机中的 ftp 服务器 但出现错误 Code import ftplib server ftplib FTP server connect 192 168 135 101 5556 server log
  • Flask.url_for() 错误:尝试在未推送应用程序上下文的情况下生成 URL

    我有一个简单的应用程序 我试图按照以下方式重定向图标 http flask pocoo org docs 0 10 patterns favicon http flask pocoo org docs 0 10 patterns favic
  • 如何防止 VS WPF 设计器为工具箱中的每个对象添加边距

    当我将控件从工具箱拖到 Visual Studio 2008 WPF 设计图面上时 它会根据我放置控件的位置和默认大小设置边距 有什么办法可以阻止 VS 设置这些吗 当我将控件放在堆栈面板上时 我希望它流入面板中的现有控件 Thanks 我
  • 只有视频,没有音频

    这很奇怪 但这是我的项目要求 在我的项目中 我想播放带有音频抑制的视频 对于音频我们有另一个计划 所以我可以使用VideoView来播放视频 但这也播放该文件的音频 这对我来说不是必需的 那么我怎样才能实现这个奇怪的要求 即播放没有音频的视
  • 相当于 C# 异步套接字中的 Peek?

    我习惯使用同步套接字 为了处理尚未完全到达的消息 我将前 4 个字节设置为消息的预期长度 然后我会用Socket Receive tcpRecv 1024 SocketFlags Peek 查看消息而不将其从缓冲区中拉出 如果所有这些都在那
  • 在 Ionic ngx-translate 中,“Http”类型的参数不可分配给“Http”类型的参数

    我正在开发一个 Ionic 2 移动应用程序 并且想要使用 ngx translate 功能 按照教程 我将在应用程序模块中导入必要的文件 如下所示 import TranslateModule TranslateLoader from n
  • 在 IIS 6 / ASP.NET Web 表单中记录服务器范围的请求数据(包括 POST 数据)

    这是大局 我们正在 IIS 6 中运行一台服务器 该服务器托管多个网站和应用程序 并且我们正在将整个服务器迁移到设置略有不同的不同数据中心 我们已经通知了我们的用户并更新了我们的 DNS 信息 这样理论上每个人都会从第一天起就高兴地访问新服