HTTP URL - 参数名称中允许的字符
-
03-07-2019 - |
题
对于URL参数名称中允许哪些字符有任何正式限制吗?
我一直在阅读 RFC3986 (“统一资源标识符(URI):通用语法”) ;)但没有明确的结论。
我知道存在实际限制,但实际上是否禁止这样做:
param with\funny<chars>=some_value
只要我正确地逃脱它:
param%20with%1cfunny%3cchars%3e=some_value
解决方案
URI规范中的转义参数名称没有限制。但是,您使用的服务器端软件可能存在限制。如果您使用&#8220;自制&#8221;用于解释URI的脚本。
其他提示
您还应阅读 RFC2396 。它似乎比RFC3986更具信息性。
网址有保留字符,但只要您转义(urlencode),那么您应该没问题。
根据所使用的框架,如果您尝试提交可疑值,则可能会出现例外情况。 ASP.NET具有内容过滤功能,如果您尝试提交“不安全”,则会引发异常。数据,如脚本或HTML。这是框架的一个特性,而不是URL语法强制执行的限制或规则。
不隶属于 StackOverflow