在生产代码中,验证请求参数或格式失败时的日志级别是什么

jia*_*afu 4 java logging

如题。在生产代码中,验证请求参数或格式失败时的日志级别是什么?

我根据两点混淆了这个谜题:

(1) 如果我将其记录为错误。我担心如果一个黑客发送过多的错误请求会导致我们的 APP 记录两条错误日志。

(2) 但是如果我将它记录到调试或更低级别。我担心由于在生产应用程序中我无法有效跟踪问题,日志将设置为警告。

那么我的选择是什么?

Nic*_*kov 7

如果由于没有系统错误而导致验证失败,但输入数据无效,我将记录为信息或警告。如果您遇到系统异常等问题,例如数据库连接失败或空指针,则记录错误。否则,输入验证不一定构成错误,并且是一种一切照旧的事件类型,因此属于信息级别。

在黑客反复运行脚本发送“过多请求”的情况下,这可能被归类为拒绝服务攻击。在这种情况下,您需要确保您的防火墙软件设置为过滤这些,我不会在应用程序日志中担心它。

最后,如果黑客没有在拒绝服务阈值下轰炸您的系统,那么您可能需要编写一些逻辑来捕获这种“错误验证”并记录一个带有明确错误消息的错误我知道要寻找,即一种特殊的错误。一个这样的例子是 sql 注入攻击,表单验证可能会捕获(并且您的应用程序中的某些层肯定会捕获)。

根据您使用的日志框架类型,您可以为这种情况定义自己的错误级别或错误类别。