我希望debug_print_backtrace不打印敏感函數參數。我幼稚的解決方案不起作用。如何從php中隱藏函數參數debug_print_backtrace
<?php
function err()
{
debug_print_backtrace();
}
function foo ($secret_arg, $arg)
{
$arg = $secret_arg;
$secret_arg = "<HIDDEN>";
err();
}
foo ("mysecret", 123);
?>
此輸出
#0 err() called at [/tmp/x.php:13]
#1 foo(mysecret, 123) called at [/tmp/x.php:16]
即使我在函數改寫$secret_arg
,回溯表明它仍包含"mysecret"
。
但是我DO仍然希望在跟蹤中顯示任何未受保護的參數。
是否有任何非哈克的方法來隱藏跟蹤中的這個論點?從設計角度來看,我真的希望函數在本地知道哪些參數需要保護,而不是寫一個新的回溯函數,它知道所有敏感參數在哪裏。
我想保留參數,只是隱藏*一些*。 – spraff
困擾,不是問題;看到我的第二個答案。 –