![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 199 Pomógł: 5 Dołączył: 8.07.2004 Skąd: gdynia Ostrzeżenie: (0%) ![]() ![]() |
Dokładniej chodzi mi o to, że w zmiennej $errcontext znajduje się zrzut tablicy GLOBALS i tam znajduje się zawartość tablicy $config i z niej chciałbym się pozbyć (zamienić na *) hasła do bazy. Cała funkcja wygląda tak:
Kod //---------------------------- // Define our own error handler //---------------------------- function solarbox_error($errno, $errstr, $errfile, $errline, $errcontext) { ob_start(); print_r($errcontext); $errcontext = ob_get_contents(); //$errcontext = preg_replace('/\[sql_pass\] => ([a-zA-z0-9_-]{6,32})/si', "[sql_pass] => *******", $errcontext); $errcontext = preg_replace('/\[sql_pass\] \=\> (.*?)/si', '[sql_pass] => *******', $errcontext); ob_end_clean(); echo "<h1>There was an error...</h1>\n"; echo "<table cellspacing='1' cellpadding='1' border='0' width='800'>\n"; echo "<tr><td style='width:200px; background-color:#CCC;'><b>Error number:</b></td><td style='background-color:#CCC;'>" . $errno . "</td></tr>\n"; echo "<tr><td style='width:200px; background-color:#CCC;'><b>Error message:</b></td><td style='background-color:#CCC;'>" . $errstr . "</td>\n"; echo "<tr><td style='width:200px; background-color:#CCC;'><b>File:</b></td><td style='background-color:#CCC;'>" . basename($errfile) . "</td></tr>\n"; echo "<tr><td style='width:200px; background-color:#CCC;'><b>Line:</b></td><td style='background-color:#CCC;'>" . $errline . "</td></tr>\n"; echo "<tr><td style='width:200px; background-color:#CCC;'><b>Error contexts:</b></td><td style='background-color:#CCC;'><pre>" . $errcontext . "</pre></td></tr>\n"; echo "</table>\n"; echo "<p>Admin was informed about this error...</p>\n"; exit; } set_error_handler('solarbox_error', E_ALL); wszystko jest ładne ale przy Error context: jest mały problem bo: Kod Array ( [GLOBALS] => Array *RECURSION* [_POST] => Array ( ) [_GET] => Array ( ) [_COOKIE] => Array ( ) [_FILES] => Array ( ) [config] => Array ( [sql_type] => mysql [sql_host] => localhost [sql_user] => db_user [sql_pass] => *******Pa$$w0rd [sql_name] => db_name [sql_table_prefix] => tbl_ ) ) no i tutaj jest mój problem bo tego Pa$$w0rd nie powinno być, powinny być same gwiazdki (przynajmniej takie było założenie)... No chyba, że w regexpach sie gdzieś walnąłem... Ten post edytował angel2953 18.12.2008, 12:51:41 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Przyjaciele php.pl Postów: 1 595 Pomógł: 282 Dołączył: 24.09.2007 Skąd: Reda, Pomorskie. Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 199 Pomógł: 5 Dołączył: 8.07.2004 Skąd: gdynia Ostrzeżenie: (0%) ![]() ![]() |
tego też już próbowałem ale nie działa bo mi ucina wszystko co jest po tej linijce:
Kod Array ( [GLOBALS] => Array *RECURSION* [_POST] => Array ( ) [_GET] => Array ( ) [_COOKIE] => Array ( ) [_FILES] => Array ( ) [config] => Array ( [sql_type] => mysql [sql_host] => localhost [sql_user] => db_user [sql_pass] => ******* czyli ucina to co najważniejsze. Od razu mówię, że ten errcontext jest wyświetlany tylko w trybie FULL_DEBUG a w normalnym trybie jest zapisywany w raportach błędów, które user może do mnie przesłać a zbytnio nie chciałbym by czuł się nie pewnie, że mam jego hasło do bazy... Ten post edytował angel2953 18.12.2008, 14:44:43 |
|
|
![]()
Post
#4
|
|
Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów ![]() |
Wywal modyfikator s ze wzorca.
Cytat w normalnym trybie jest zapisywany w raportach błędów, które user może do mnie przesłać A nie lepiej byłoby wyrzucać to do pliku i userowi zwracać tylko identyfikator? Ten post edytował erix 18.12.2008, 15:39:48 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 25.08.2025 - 05:40 |