我们记录了所有发生在我们的代码中的异常,并且堆栈跟踪相关联。密码作为堆栈跟踪中显示的参数
的问题来自这样的功能:
public function Authenticate($user, $password)
//Authenticate the user
}
当一个异常被该函数抛出,堆叠跟踪包含使用的参数:用户密码被显示在纯文本。
我该如何处理?我是否应该重写Authenticate函数以仅接受加密的密码?我可以不允许这个特定参数显示在堆栈跟踪中吗?
任何想法是值得欢迎的。
编辑
我使用getTraceAsString功能来记录跟踪。
你使用的是默认的Exception :: getTrace()吗? xdebug有一个[collect params](http://xdebug.org/docs/all_settings#collect_params)设置,可能会有用。 – 2014-10-03 07:43:17
一秒钟修补程序将使用'preg_replace'将对'Exception :: getTraceAsString'的调用打包调用。 – mudasobwa 2014-10-03 07:49:33