【发布时间】:2011-05-03 21:43:25
【问题描述】:
我需要允许用户提交如下查询;
/search/"my search string"
但由于请求验证而失败,如以下 2 个问题所述:
How to include quote characters as a route parameter? Getting "Illegal characters in path" message
How to modify request validation?
我目前正试图弄清楚如何禁用引号字符的请求验证,但我想知道在我实际启用该禁用的站点之前的风险?我不会禁用请求验证,除非我只能为引号字符禁用它,所以我打算禁止当前不允许的所有其他字符。
【问题讨论】:
-
有人要问这个愚蠢的问题:为什么搜索字符串必须是路径的一部分,而不是 URL 查询参数(例如
/search?q=%22my+search+string%22)? -
这是愚蠢的答案:因为客户喜欢这样。您将其附加为查询字符串参数的建议是 plan b
-
好吧,还有一个更愚蠢的问题:为什么客户会关心您采用哪种 URL 方案? (诚然,我发现愚蠢的顾客不仅充满了愚蠢的想法,而且他们也无可救药地相信这些想法的天才。)如果我更愤世嫉俗,我可能会建议你空手回去说, “对不起,但我们只能执行 B 计划。”但我尽量不要玩世不恭,我绝不会建议对你的老板撒谎,所以我不会建议这样做。
标签: asp.net security request-validation