加入收藏 | 设为首页 | 会员中心 | 我要投稿 安卓应用网 (https://www.0791zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > PHP > 正文

php – 密码作为参数显示在堆栈跟踪中

发布时间:2020-05-25 08:51:21 所属栏目:PHP 来源:互联网
导读:我们记录代码中发生的所有异常,并将堆栈跟踪关联起来. 问题来自这个功能: public function Authenticate($user, $password) //Authenticate the user} 当此函数抛出异常时,堆栈跟踪包含使用的参数:用户密码以纯文本显示. 我该怎么处理?我应该重写Authentic

我们记录代码中发生的所有异常,并将堆栈跟踪关联起来.

问题来自这个功能:

public function Authenticate($user,$password)
    //Authenticate the user
}

当此函数抛出异常时,堆栈跟踪包含使用的参数:用户密码以纯文本显示.

我该怎么处理?我应该重写Authenticate功能只接受加密密码吗?我可以禁止在堆栈跟踪中显示此特定参数吗?

欢迎任何想法.

编辑

我使用getTraceAsString函数来记录跟踪.

您可以使用 Exception::getTrace()方法收集信息,并编写自己的自定义getTraceAsString(),不包括参数.

See this example来自Exception::getTrace() docs的评论.

function MakePrettyException(Exception $e) {
    $trace = $e->getTrace();

    $result = 'Exception: "';
    $result .= $e->getMessage();
    $result .= '" @ ';
    if($trace[0]['class'] != '') {
      $result .= $trace[0]['class'];
      $result .= '->';
    }
    $result .= $trace[0]['function'];
    $result .= '();<br />';

    return $result;
  }

(编辑:安卓应用网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读