在POST数据中出现的字符

时间:2011-03-15 17:39:54

标签: python apache mod-wsgi

我正在使用apache / mod_wsgi / python运行一个高流量的ssl网站。非常偶尔(3个月内大约10倍)我在帖子数据中看到了一些额外的垃圾字符。

通常最后会以额外的字符形式出现。

('access.uid', 'allow\xba')
('checksum', 'b219d6a006ebd95691d0d7b468a94510496c5dd8\xff')

虽然它在某人的密码中间。类似的东西:

('login_password', 'samplepass\xe7word')

我尝试使用所有相同的标头重建请求,但我无法复制错误。任何人都有任何关于可能导致这种情况的想法,或者有关如何重现和解决这个问题的任何想法?

(从下面复制):
我正在使用apache-2.2.17_1 - Peter Mar 15:18 我在一台机器上使用mod_wsgi-3.3_1,在另一台机器上使用mod_wsgi-2.8_1。我在两者上都看到了这个错误。

4 个答案:

答案 0 :(得分:2)

您使用的是哪个版本的Apache?从内存,Apache 2.2.12-2.2.15周围的地方有各种SSL修复。您可能希望确保使用的是Apache 2.2.15或更高版本。

答案 1 :(得分:0)

如果您打印eval("u'%s'"%garbled_text)会怎样?输出看起来很可能(我知道您可能无法发布敏感数据)

在某些地方,它看起来像是在假设你正在读ASCII,即使你已经告诉它读取utf-8。

我们可以看到将此POST数据读入python的代码,或者指定它的位置以及输入形式的代码吗?

答案 2 :(得分:0)

由于您说IE 7或8中发生了所有错误,我开始怀疑在浏览器中客户端发生错误。我从来没有听说过这样的错误,我不知道除了硬件故障之外可能导致服务器端的问题(虽然这似乎很奇怪,因为只有一个字符添加< /强>)。也许您应该建议您的用户升级到合适的浏览器?

答案 3 :(得分:0)

这看起来非常像chunked HTTP/1.1

在解析之前使用适当的处理程序取消它。请参阅[1][2]

另一个选择是只接受根本没有分块的HTTP / 1.0,但这可能有缺点。