我有一个已经部署并正在运行的小论坛。我刚刚发现Twitter登录有问题,我需要调试它。现在它返回500页。我无法知道Debug = True有什么问题。但是,如果我打开它,那么我将违反Django安全最佳实践,如果有人将信息保存在调试页面中(使用Debug = False)并且意图不好,他可能会造成很多麻烦。你会推荐什么?
答案 0 :(得分:2)
ALLOWED_HOSTS
属性。如果您尚未对其进行配置并设置DEBUG=False
,则会看到SuspiciousOperation被提升。DEBUG=False
在本地运行?这通常是一种快速查找更多深奥错误的方法。要根据评论进行跟进,您需要在有点实时的环境中启用DEBUG
。执行此操作的标准方法是从实时环境中获得单独的暂存环境。自从使用Heroku后,您可以轻松启动单独的环境并在那里设置DEBUG=True
。然后,您将看到完整的错误页面,修复错误,并部署到生产DEBUG=False
。
另一个想法是设置第三方异常处理系统,如Raygun或Bugsnag。将此添加到生产应用程序将在抛出异常时为您提供报告。这是对Django默认的错误电子邮件行为的重大升级。