首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >/lpt1和/com1导致IIS呈现自己的死亡屏幕。

/lpt1和/com1导致IIS呈现自己的死亡屏幕。
EN

Stack Overflow用户
提问于 2011-06-23 13:51:40
回答 2查看 1.4K关注 0票数 2

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

代码语言:javascript
复制
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提供自定义的404页面,即使是针对这些“特殊”URL?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-06-23 21:44:24

在ASP.NET 4.0之前,不可能在urls中使用特定的保留文件名,如conlptaux等:

僵尸操作系统与ASP.NET MVC

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

然而,好消息是,现在有可能:

放置Con (COM1,LPT1,NUL等)回到你的URL里

如果您没有使用ASP.NET 4.0,那么您应该能够使用IIS7 7自己的配置设置捕捉到这些404。

票数 7
EN

Stack Overflow用户

发布于 2016-06-15 13:52:00

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

url重调模块是:

Microsoft URL为IIS 7和更高版本重写模块2.0使IIS管理员能够创建强大的自定义规则,将请求URL映射到友好的URL,用户更容易记住,搜索引擎更容易找到

类似于:

代码语言:javascript
复制
<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>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6455135

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档