【发布时间】:2017-07-12 10:49:40
【问题描述】:
我在日志中看到此警告:
py.warnings._decompression_bomb_check +2261:警告 [1091] /usr/lib64/python2.7/site-packages/PIL/Image.py:2261:DecompressionBombWarning:图像大小(139332960 像素)超过 89478485 像素的限制,可能是解压弹DOS攻击。
不幸的是,仅此行并不能帮助我进行调试。
我想查看堆栈跟踪和其他数据,例如请求 URL。
我们使用 Django 1.8 和 Python 2.7
上述警告发生在生产系统上。大约每周一次。
我不知道如何重现它,因为我不知道产生警告的 URL。
更新
警告很明确。但我不知道巨大的图像存储在哪里。我正在搜索大文件的文件名或产生此警告的 URL。
我认为找到的唯一方法是:在生产环境中添加一些调试行并等待几天,直到再次产生警告。
【问题讨论】:
-
你期待什么,警告几乎是明确的?
-
警告很明确。是的,你是对的。我的问题:哪个 URL 访问数据?我想调试它以找到巨大的图像。警告中的文件路径是 python 文件的路径。我的问题:哪个 URL 会产生此错误。我更新了问题以使这一点更清楚。
-
进一步的可能:如果日志条目有时间戳,则将时间戳与连接日志匹配以获取URL。
-
@stovfl 是的,这种类型的猜测可能会有所帮助......“歧义”我不记得 Python 的 Zen 说了什么。你呢?
标签: python django logging python-imaging-library