我正面临着使用下划线的剩余标题的问题,而不是在我打印时获取其余标题值。
有人知道如何让这项工作成功吗?
谢谢!
答案 0 :(得分:0)
您不应在标题名称中使用下划线,仅使用短划线作为分隔符。
主流Web服务器(如Apache和nginx)以及一些Python WSGI服务器/框架将丢弃带下划线的标头,以避免标头欺骗。
想象一下,你有一个标题:
My-Header: value
这在CGI / WSGI中转换为变量:
HTTP_MY_HEADER: value
传递给申请时。
问题是标题:
My_Header: value
也映射到同一个。
这里的危险是客户端可以使用一个,而代理之间的东西可以故意设置另一个尝试优先,在服务器/应用程序处理它时覆盖原始文件。
由于这是一个潜在的安全问题,服务器只允许包含字母数字和短划线的标头现在通过,其他任何内容都被丢弃。