CGI PATH_INFO变量实际上可以包含控制字符


The CGI PATH_INFO variable can really contain control characters?

从CGI规范第4.1.5节中,我得到:

PATH_INFO = "" | ( "/" path )
path      = lsegment *( "/" lsegment )
lsegment  = *lchar
lchar     = <any TEXT or CTL except "/">

其中TEXTCTL在上面的规范中定义:

CTL           = <any control character>
TEXT          = <any printable character>

现在问题来了,如何控制PATH_INFO中的字符?

由于 PATH_INFO 是由 www 服务器根据用户输入的 URI 填充的,我们如何在 Web 浏览器中输入控制字符?

百分比编码可用于在 URL 中输入任何字符:

http://www.example.com/foo%03bar.html

这将在 foobar 之间有一个 Ctl-c 字符。