CGI PATH_INFO 变量真的可以包含控制字符吗?
The CGI PATH_INFO variable can really contain control characters?
从 CGI specification, section 4.1.5,我得到:
PATH_INFO = "" | ( "/" path )
path = lsegment *( "/" lsegment )
lsegment = *lchar
lchar = <any TEXT or CTL except "/">
其中 TEXT
和 CTL
在上面的规范中定义:
CTL = <any control character>
TEXT = <any printable character>
现在问题来了,如何控制PATH_INFO中的字符?
既然PATH_INFO是由www服务器根据用户输入的URI填充的,那么我们如何在网络浏览器中输入控制字符?
百分比编码可用于输入任何字符 URL:
http://www.example.com/foo%03bar.html
这将在 foo
和 bar
之间有一个 Ctl-c 字符。
从 CGI specification, section 4.1.5,我得到:
PATH_INFO = "" | ( "/" path )
path = lsegment *( "/" lsegment )
lsegment = *lchar
lchar = <any TEXT or CTL except "/">
其中 TEXT
和 CTL
在上面的规范中定义:
CTL = <any control character>
TEXT = <any printable character>
现在问题来了,如何控制PATH_INFO中的字符?
既然PATH_INFO是由www服务器根据用户输入的URI填充的,那么我们如何在网络浏览器中输入控制字符?
百分比编码可用于输入任何字符 URL:
http://www.example.com/foo%03bar.html
这将在 foo
和 bar
之间有一个 Ctl-c 字符。