Right, so I think the only issue would be when we hide the path to {main} and anything relative to that. The trade-off would be that the developer will need to be familiar with his/her own directory structure. After thinking about it some more, there is the possibility that there are multiple scripts with the same name at multiple levels (e.g. /www/a.php and /www/deeper/a.php) that both might be accessed directly. Therefore, I think we should use the document root (I can't imagine a case where PHP would not know it), in case it is different from PHP_SELF (not familiar with how they work together). I don't know of another way that would be useful for max_input_vars errors and similar.
Comparatively, if we hide anything in the include path, and replace it with [inc], the developer will know it's in one of the include paths. Any other custom paths and replacements would usually be developer specified like fpd_hide_path('/home/acct/git/lib', '[git]'), so the developer would be able to figure it out. If the error is written to a log file, I'm not sure that there is a reason to filter paths in the log file, but maybe you want to provide an option for it. My suggestion is mainly for errors that are sent to the browser or that are likely to be sent to the browser after being caught (debug_backtrace). Here's a case showing what happens to the document root: Before: ------- Fatal Error: Uncaught Error: Call to undefined method Fake_Class::nonexistent_method() in /home/acct/www/script.php:2 Stack trace: #0 {main} thrown in /home/acct/www/deep/script.php on line 2 After: ------ Fatal Error: Uncaught Error: Call to undefined method Fake_Class::nonexistent_method() in /[path]/script.php:2 Stack trace: #0 {main} thrown in /[path]/deep/script.php on line 2 If the first error is sent to the browser, a third party learns the site's acct name on the web server. If the second error is sent to the browser, the third party doesn't really learn anything. When the traces get longer, and we include files above the root for some reason, maybe I would say just use /[path]/../sidepath if there's not a specific replacement for it. This would only be an problem if users are including files from other people's accounts or are using really strange paths; even so, the output wouldn't disclose any more information than the current implementation. Thanks, Ted -- PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: http://www.php.net/unsub.php