代码之家  ›  专栏  ›  技术社区  ›  Tomalak

HTTP URL-参数名称中允许的字符

  •  20
  • Tomalak  · 技术社区  · 17 年前

    URL参数名称中允许使用哪些字符有任何正式限制吗?

    RFC3986 (“统一资源标识符(URI):通用语法”),但没有得出明确的结论。

    param with\funny<chars>=some_value

    param%20with%1cfunny%3cchars%3e=some_value
    3 回复  |  直到 4 年前
        1
  •  12
  •   Konrad Rudolph    17 年前

    URI规范中没有对转义参数名称的限制。不过,您使用的服务器端软件可能有一些限制。如果您使用自制脚本来解释URI,则尤其如此。

        2
  •  8
  •   m_vitaly    17 年前

    你也应该阅读 RFC2396 . 它似乎比RFC3986信息更丰富。

        3
  •  2
  •   Neil Barnwell    17 年前

    根据使用的框架,如果尝试提交可疑值,可能会出现异常。ASP.NET具有内容筛选功能,如果您尝试提交“不安全”数据(如脚本或HTML),则会引发异常。这是框架的一个特性,而不是URL语法强制的限制或规则。

        4
  •  1
  •   inder    6 年前

    RFC 2396 ,参数名称和值可以包含大写/小写字母、十进制数字和-33;!~*'()个字符。 其他一切都需要逃避。

    推荐文章