如果发生错误以及何时发生错误,我想用有用的信息填充我的错误日志。我想使用日志来发现和修复我网站上的错误,但也可能记录黑客尝试。对于 PHP Web 应用程序,哪些信息被认为是重要的,为什么?哪些信息有用?什么是矫枉过正?
我目前的清单是:
- 错误的类型。
- 对应的错误信息。
- 发生错误的 URL。
- 时间戳。
- 用户的 IP 和用户代理。
- 引用 URL。
如果发生错误以及何时发生错误,我想用有用的信息填充我的错误日志。我想使用日志来发现和修复我网站上的错误,但也可能记录黑客尝试。对于 PHP Web 应用程序,哪些信息被认为是重要的,为什么?哪些信息有用?什么是矫枉过正?
我目前的清单是:
通常,您记录的数量取决于错误的类型。越关键,您记录的越多。
关于您想要记录的其他内容
我认为只要有用,就不会在发生错误时过度记录日志量。我唯一一次看到日志变得非常糟糕的是,即使没有发生错误,也会占用大量日志。
我正在使用异常屏蔽模式。
首先:应用程序将我(作为开发人员)需要的所有信息记录到数据库、文件...
第二:应用程序向客户端返回一条不包含敏感内部信息的消息。
应用程序可以收集的私人信息(屏蔽):
我决定将未处理的异常和自定义处理的异常分开,并且我为每种类型的异常都有日志记录模板
马克和伊戈尔有很好的建议。我还建议在 OWASP 上阅读有关错误处理和日志记录的信息。
还有一件事,无论您记录什么,请务必清理来自用户的记录信息,例如 url 引用、get/post 变量、用户名等。换句话说,任何可以被远程用户操作的东西。您可能不希望最终记录一个 100,000 个字符长的用户名。
除了您提到的内容之外,如果可用,我会尝试包含 POST 值 ($_POST) 和 cookie/会话数据。