如何在Odoo 15中隐藏Python Traceback以保障系统安全?
在Odoo 15中隐藏错误Traceback的方法(安全考量)
出于安全需求,要在Odoo 15里隐藏前端展示的错误Traceback,可通过以下几种方式实现:
1. 修改配置文件(生产环境首选)
找到你的Odoo配置文件(通常命名为odoo.conf),添加或修改以下参数:
debug_mode = False:关闭调试模式后,前端不会显示详细的Traceback堆栈信息,只会展示通用错误提示log_level = warn:将日志级别设为警告及以上,减少日志文件中记录的敏感错误细节,避免信息泄露
修改后重启Odoo服务生效。
2. 通过后台关闭开发者模式
登录Odoo后台,按以下步骤操作:
- 进入【设置】-【通用设置】
- 找到【开发者工具】板块,确保激活开发者模式处于关闭状态
- 保存设置后,普通用户触发错误时就看不到Traceback了
3. 自定义错误页面(彻底替换默认展示)
如果需要完全自定义错误提示内容,可以开发自定义模块重写错误响应:
创建模块后,添加以下Python代码:
from odoo import http from odoo.http import request class CustomErrorHandler(http.Controller): @http.route('/web/error', type='http', auth="none") def web_error(self, **kwargs): # 渲染自定义错误页面,替换默认的Traceback展示 return request.render('your_module.custom_error_template', {})
同时在模块的views目录下创建对应的XML模板(custom_error_template.xml),编写你想要展示的错误页面内容,彻底屏蔽Traceback信息。
注意事项
- 开发环境建议开启调试模式方便排查问题,生产环境必须关闭
- 日志文件要设置严格的权限,避免未授权人员访问日志中的错误细节
内容的提问来源于stack exchange,提问作者Omar Tougui
相关产品推荐
相关产品推荐

