我很确定这是不可能完成的,但我正在寻找一种 hack 或方法来在文件夹名称中添加 + ,例如
http://www.mysite.com/cats+dogs/Default.aspx http://www.mysite.com/cats+dogs/Default.aspx
我正在使用 IIS 7,并尝试创建虚拟目录来实现此目的,但没有成功。我不允许将 %2B 放入资源管理器文件夹或虚拟文件夹名称中。
我有什么想法可以破解它以使其工作吗?我们已经印好了带有网址的小册子,想知道是否有某种方法可以给它起别名,或者有什么技巧可以做到这一点。
编辑:我能够解决这个问题,方法是创建一个带有 + 的虚拟文件夹,然后重定向到一个 URL,该 URL 指向包含内容的虚拟目录。
IIS 7.0 对集成模式下的 ASP.NET 2.0 应用程序的重大更改 http://mvolo.com/blogs/serverside/archive/2007/12/08/IIS-7.0-Breaking-Changes-ASP.NET-2.0-applications-Integrated-mode.aspx
这是该页面的相关摘录,其中显示了解决方法/修复。
请求限制和 URL 处理
以下变化的结果是由于
IIS 的附加限制
处理传入的请求及其
网址。
11) 请求包含未编码的 URL
路径中的“+”字符(不是
查询字符串)默认被拒绝
您将收到 HTTP 错误 404.11 –
Not Found:请求过滤
模块配置为拒绝请求
包含双重转义
顺序。
出现此错误是因为 IIS 是由
默认配置为拒绝尝试
对 URL 进行双重编码,这通常是
代表尝试执行
规范化攻击。
解决方法:
1)需要使用的应用
URL 路径中的“+”字符
可以通过设置禁用此验证
中的allowDoubleEscaping属性
这
system.webServer/安全/requestFiltering
配置部分中的
应用程序的 web.config。然而,
这可能会让你的申请更加
容易受到恶意 URL 的攻击:
<system.webServer>
<security>
<requestFiltering allowDoubleEscaping="true" />
</security>
</system.webServer>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)