gpt4 book ai didi

django - 我应该捕获普通用户永远不会发生的错误吗?

转载 作者:行者123 更新时间:2023-12-04 21:22:49 26 4
gpt4 key购买 nike

我有一行用 .get(field = ID) 抓取数据库行.普通用户总是会发送 ID存在于数据库中,但黑客可能不存在,并且会抛出 DoesNotExist异常(exception)。在这种情况下,明确捕获它是否重要还是我应该不捕获异常?无论哪种方式,黑客都不会看到任何消息,因此无论哪种方式都不存在任何安全风险。

我也想知道我是否应该记录这个异常失败。有兴趣听听你们作为一般经验法则所做的事情,以及您对记录/捕获的内容与让抛出未捕获异常的内容的理由。

最佳答案

重要的部分是您在哪种上下文中使用此字段。如果您通过 /profile/[ID] 访问该页面我会显示一个用户未找到页面。如果你做这样的事情

ID = context["user"].id
Object.get(field = ID)

我不会尝试单独捕获错误。

总而言之,我保存了无法通过正常用户行为引起的所有错误。然后我可以查看我的错误日志,并可以直接查看我的站点在哪里引发故障或黑客是否试图找到安全漏洞。

之后我修复了这个未定义的行为,以便错误日志尽可能为空。

关于django - 我应该捕获普通用户永远不会发生的错误吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9104938/

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