URL /lpt1 和 /com1 导致 IIS 呈现自己的死屏

发布于 2024-11-16 17:40:51 字数 565 浏览 2 评论 0原文

在运行最近的 SkipFish 扫描时,我们发现如果您调用 /lptX/comX(其中 X 是数字 1-9),IIS (7.5) 将返回以下内容。

Server Error in '/' Application.

The resource cannot be found.

Description: HTTP 404. The resource you ...[and so on]...

尽管事实上我们在站点级别和 Web 服务器配置级别都有自定义的[漂亮]错误。

如果您有 IIS 机器,请立即在 IIS 机器上尝试一下 - http://localhost/lpt1 应该可以做到。

我猜这是 LPT 打印机和通过 COM 端口连接的鼠标的“美好时光”遗留下来的东西。但看到 IIS 的某些区域我无法配置,这有点令人不安。

是否可以强制 IIS 为这些“特殊”URL 提供自定义 404 页面?

When running a recent SkipFish scan - we found that IIS (7.5) returns the following if you call /lptX or /comX (where X is a number 1-9).

Server Error in '/' Application.

The resource cannot be found.

Description: HTTP 404. The resource you ...[and so on]...

This is dispite the fact that we have custom [pretty] errors at the site-level and at the web server config level.

Try it on your IIS box now if you have one - http://localhost/lpt1 should do it.

I'm guessing this is a legacy thing from 'the good ol days' of LPT printers and mice connecting via COM ports. But it is slightly unsettling to see and area of IIS that I can't config.

Is it possible to force IIS to serve a custom 404 page even for these 'special' URLs?

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

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

发布评论

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

评论(2

﹏雨一样淡蓝的深情 2024-11-23 17:40:52

在 ASP.NET 4.0 之前,无法在 URL 中使用某些保留文件名,例如 conlptaux 等:

僵尸操作系统和 ASP.NET MVC< /p>

这是一个限制ASP.NET,而不是 MVC。

然而好消息是现在这是可能的:

放置 Con(COM1、LPT1、 NUL 等)返回您的网址

如果您没有使用 ASP.NET 4.0,您应该能够使用 IIS7 自己的 配置设置。

Until ASP.NET 4.0 it wasn't possible to use certain reserved filenames such as con, lpt, aux and so in on your urls:

Zombie Operating Systems and ASP.NET MVC

This was a limitation of ASP.NET, not MVC.

However the good news is that it's now possible:

Putting the Con (COM1, LPT1, NUL, etc.) Back in your URLs

If you're not using ASP.NET 4.0, you should be able to catch these 404's using IIS7's own <httpErrors> configuration settings.

吾性傲以野 2024-11-23 17:40:52

使用 ASP .NET 3.5,您可以使用 url 重写模块的 url 重写规则将 url 更改为有效的 url。

url重写模块是:

适用于 IIS 7 及更高版本的 Microsoft URL 重写模块 2.0 启用 IIS
管理员创建强大的自定义规则来映射请求 URL
更容易让用户记住并且更容易使用的友好 URL
搜索引擎查找

类似的内容:

<rewrite>
  <rules>
    <rule name="CON rewrite" stopProcessing="true">
      <match url="(.*)/(con\.)(.*)" />
      <action type="Redirect" url="{R:1}/con-{R:3}" redirectType="SeeOther" />
    </rule>     
  </rules>
</rewrite>

With ASP .NET 3.5 you can use an url rewrite rule of the url rewrite module in order to change the url to a valid one.

The url rewite module is:

The Microsoft URL Rewrite Module 2.0 for IIS 7 and above enables IIS
administrators to create powerful customized rules to map request URLs
to friendly URLs that are easier for users to remember and easier for
search engines to find

Something like:

<rewrite>
  <rules>
    <rule name="CON rewrite" stopProcessing="true">
      <match url="(.*)/(con\.)(.*)" />
      <action type="Redirect" url="{R:1}/con-{R:3}" redirectType="SeeOther" />
    </rule>     
  </rules>
</rewrite>
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文