+0.12
Рейтинг
0.34
Сила

Gera

  • avatar gera
  • 0
Пробел между вторым адресом и; уберите будет работать
  • avatar gera
  • 0
Кто будет править, внимательно посмотрите подобные ляпы встречаются в нескольких местах, например в этом же файле функция databaseLogger.
Также напонятно зачем там строка $caller = $db->findLibraryCaller(); caller нигде не используется дальше в этой функции…
  • avatar gera
  • 1
Да все правильно, первое заменить на второе.
Если выключены сообщения об ошибках, что как правило бывает на продакшене.
Можно генерировать ситуацию когда не смотря на выключенные ошибки будет показано сообщение из $message и $info. А там будет путь к файлу, может быть пользователь и расположение ДБ сервера. Да если покапать взломщик найдет много полезной информации.
Чтоб вывести данные этих переменных взломщику нужно нагрузить сервер и есть большая вероятность что все падать будет до ob_end_clean();

В принципе так у меня и произошло. На шаред хостинге была кемто перегруженна БД. А у меня в поток вываливались ошибки. Имменно в этом месте. Даже не доходило до записи в лог.
Причем падало на этом месте в 50% случаях. Я подозреваю что не хватало памяти на ob_get_contents.

Да и запись
$msg = "SQL Error: $message<br />\n".print_r($info,true);
Короче, быстрее и лаконичнее.
Я подозреваю что данный код был скопирован из библиотеки Котерова, но там был var_dump который не умеет возвращать текст. В LS заменили на print_r а старую обвязку оставили. Не вспоминая что если вторым параметрам поставить true то print_r не напечатает а вернет результат.