在运行最近的SkipFish扫描时,我们发现IIS (7.5)如果调用/lptX或/comX (其中X是数字1-9),将返回以下内容。
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?
发布于 2011-06-23 21:44:24
在ASP.NET 4.0之前,不可能在urls中使用特定的保留文件名,如con、lpt、aux等:
僵尸操作系统与ASP.NET MVC
这是ASP.NET的一个限制,而不是MVC。
然而,好消息是,现在有可能:
放置Con (COM1,LPT1,NUL等)回到你的URL里
如果您没有使用ASP.NET 4.0,那么您应该能够使用IIS7 7自己的配置设置捕捉到这些404。
发布于 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,用户更容易记住,搜索引擎更容易找到
类似于:
<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>https://stackoverflow.com/questions/6455135
复制相似问题