如何配置 IIS,以便我在同一台计算机上运行的 ASP.NET Web 应用程序可以相互 POST,但公众无法 POST?

发布于 2024-12-25 17:57:07 字数 184 浏览 1 评论 0原文

更具体地说,我正在编写一个 Web 请求处理程序,该处理程序将请求分叉到单独、不同 ASP.NET Web 应用程序的不同处理页面。具体来说,该处理程序的目的是处理 Paypal 的即时付款通知。

我想知道如何将这些自定义处理页面仅公开给本地主机,以便我的分叉处理程序的帖子能够通过,但远程计算机无法直接发布到这些页面。

More specifically, I am writing a web request handler that forks requests to different processing pages for separate, distinct ASP.NET web applications. Specifically, this handler's purpose is for handling Paypal's Instant Payment Notifications.

I'd like to know how I can expose those custom processing pages to localhost only, so that my forking handler's POSTS will go through, but remote machines cannot post to those pages directly.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

挽手叙旧 2025-01-01 17:57:07

IIS 可以配置为仅允许某些 IP 地址访问站点。这些设置可以在站点的目录安全选项卡 (IIS6) 或 IP 地址和域限制选项 (IIS7) 中找到。您可以将此限制为本地请求,仅指定唯一允许的地址为 127.0.0.1

IIS can be configured to only allow certain IP addresses to access a site. These settings can be found on the directory security tab for the site (IIS6) or in the IP address and domain restrictions option (IIS7). You can restrict this to local requests only be specifying the only allowed address to be 127.0.0.1

陌路黄昏 2025-01-01 17:57:07

在 IIS 管理器中,在您只想允许本地访问的站点的“绑定”操作面板中,将 IP 地址更改为 127.0.0.1。

对于多个应用程序,请在 Windows 主机文件 (system32\drivers\etc\hosts) 中为 127.0.0.1 设置多个别名。返回“绑定”操作面板,将每个站点的主机名设置为这些别名之一,并在来自其他站点的 GET 或 POST 中使用该别名,例如 httpx://mylocalsite/default.aspx。

如果您无法隔离整个站点,那么您可以编写一个 HttpModule,并在 BeginRequest 事件中,如果 Request.IsLocal 则抛出错误> 对于您所关心的页面而言,情况并非如此。

In IIS Manager, in the Bindings action panel for the site you only want to allow local access to, change the IP address to be 127.0.0.1.

For more than one application, set up several aliases in your Windows hosts file (system32\drivers\etc\hosts) for 127.0.0.1. Back on the Bindings action panel, set the hostname for each site to be one of those aliases, and use that alias in your GETs or POSTs from the other sites, such as httpx://mylocalsite/default.aspx.

If you can't isolate an entire site, then you can write an HttpModule, and in the BeginRequest event, throw an error if Request.IsLocal isn't true for the pages you're concerned about.

坚持沉默 2025-01-01 17:57:07

好吧,我不知道如何在 IIS 中执行此操作,但是您的页面可以检查

Request.IsLocal

Well, i do not know how to do it in IIS, but your pages can check

Request.IsLocal
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文