对于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语法强制执行的限制或规则。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top