我收到了一个不言自明的错误:
一个潜在的危险请求。日志含义从客户端检测到路径值(*)。
问题是由于请求URL中的*:
https://stackoverflow.com/Search/test*/0/1/10/1
该url用于填充搜索页面,其中“test*”是搜索词,url的其余部分与各种其他过滤器相关。
是否有一种简单的方法允许这些特殊字符出现在URL中?我试过修改网页。配置,毫无用处。
我应该手动编码/解码特殊字符吗?
或者是否有这样做的最佳实践,我希望避免使用查询字符串。-但这可能是一种选择。
应用程序本身是一个c# asp.net webforms应用程序,它使用路由生成上面漂亮的URL。
如果你使用的是。net 4.0,你应该能够通过web.config允许这些url
<system.web>
<httpRuntime
requestPathInvalidCharacters="<,>,%,&,:,\,?" />
</system.web>
注意,我刚刚删除了星号(*),原始的默认字符串是:
<httpRuntime
requestPathInvalidCharacters="<,>,*,%,&,:,\,?" />
请参阅这个问题了解更多细节。
如果你使用的是。net 4.0,你应该能够通过web.config允许这些url
<system.web>
<httpRuntime
requestPathInvalidCharacters="<,>,%,&,:,\,?" />
</system.web>
注意,我刚刚删除了星号(*),原始的默认字符串是:
<httpRuntime
requestPathInvalidCharacters="<,>,*,%,&,:,\,?" />
请参阅这个问题了解更多细节。