加密网站上的堆栈跟踪,任何库都这样做?

时间:2012-03-22 19:38:39

标签: security debugging logging

我希望在发生错误时在页面上包含敏感(调试)信息,以便在检查生产应用程序时收集该信息。它比日志更容易使用。

为了保证这一点,我可以:

  • 仅在密钥存在于cookie中时显示调试信息
  • 加密页面上的信息并使用浏览器中的JavaScript解密(通过扩展程序或只包含在页面上的JavaScript)

第二个选项看起来好一点:

  • 可以让用户向我们发送带有错误描述的加密数据
  • 不要求https连接安全。

这种方法的缺点是,如果收集调试数据,可能会遇到一些性能问题,所以最好的方法是使用这两种方法的组合......

实际问题:

  • 您是否知道任何实现此类功能的库/浏览器扩展程序?
  • 你知道更好的方法吗?
  • 您如何看待第二个想法?

1 个答案:

答案 0 :(得分:3)

如果解密密钥丢失,加密解决方案会让您非常容易受到攻击。您可以定期更改密钥,但如果攻击者获得您的密钥,那么他仍然可以使用它来解密他可能已收集的旧堆栈跟踪。

这种做法怎么样?将堆栈跟踪存储在具有唯一ID的服务器上,即在数据库或文件中。将唯一ID放在网页上并显示错误消息,并要求最终用户在报告任何错误时复制此ID。创建一个包含表单的网页,您可以在其中输入唯一ID和您自己的用户名和密码。该网页显示了堆栈跟踪。