gpt4 book ai didi

python - 如何在 celery 中禁止泡菜序列化

转载 作者:IT老高 更新时间:2023-10-28 21:34:47 25 4
gpt4 key购买 nike

Celery 默认使用 pickle 作为任务的序列化方法。如 FAQ 中所述,这代表了一个安全漏洞。 Celery 允许您使用 CELERY_TASK_SERIALIZER 配置参数配置任务如何序列化。

但这并不能解决安全问题。即使任务使用 JSON 或类似的方式进行序列化,worker 仍将使用 pickle 序列化执行插入到队列中的任务——它们只是响应消息中的 content-type 参数。因此,任何可以写入任务队列的人都可以通过编写恶意腌制对象来有效地控制工作进程。

如何防止工作线程运行用 pickle 序列化的任务?

最佳答案

我收到“ContentDisallowed:拒绝反序列化类型为 pickle (application/x-python-serialize) 的不受信任的内容”

拥有:

CELERY_ACCEPT_CONTENT = ['json']

还不够...我还必须在设置中添加以下内容:

CELERY_TASK_SERIALIZER = 'json'
CELERY_RESULT_SERIALIZER = 'json'

关于python - 如何在 celery 中禁止泡菜序列化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6628016/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com