web.py safeunicode函数错误?

时间:2012-04-12 08:15:40

标签: python security exception decode web.py

我在web.py utils.safeunicode函数中发现了一个错误。版本是0.36

>>> import web
>>> app=web.application(('/hello','hello'),locals())
>>> class hello:
...   def GET(self):
...       return 'hello world'

#it's the normal request
>>> app.request('/hello').data
'hello world'

#the Error request
>>> app.request('hello\xbf').data
...
UnicodeDecodeError: 'utf8' codec can't decode byte 0xbf in position 6: unexpected code byte

我尝试了一些web.py网站,例如'http://web.site/index%bf',并且所有这些网站都响应状态500或例外。这是一个错误还是易怒?

我修复了utils.py第342行

elif t is str:
    ooxxxxoo=obj.decode(encoding,'ignore')
    return ooxxxxoo
然后它会好起来的。但是真的安全吗?

2 个答案:

答案 0 :(得分:1)

我在github存储库和seems to be already fixed中打开了这个问题。也许你应该更新到0.37?

答案 1 :(得分:0)

它仍未修复..测试0.37。尝试创建一个参数 http://sometarget.com/test?parameter=%bf