Случайный var_dump параметров соединения Eloquent ORM - PullRequest
0 голосов
/ 15 мая 2018

Я нахожусь в процессе доработки слоя базы данных унаследованного приложения PHP с использованием Eloquent ORM Laravel (и связанных пакетов).

Иногда я забуду вызвать метод get (или другой аналогичный метод, который возвращает коллекцию) при работе с моделью. В процессе отладки, если я вызываю var_dump для объекта построителя запросов, он сбрасывает кучу конфиденциальной информации, такой как имя пользователя / пароль базы данных:

//Trying to access User model, but forgot to use get method    
$test = User::where('name', 'Joe');

//Dump a Illuminate\Database\Eloquent\Builder object with all its sensitive bits out
var_dump($test);

Мне интересно, есть ли какая-нибудь мера предосторожности, которую я мог бы применить, чтобы предотвратить отображение этой информации, чтобы на случай, если какой-то отладочный код, подобный этому, будет запущен в производство, я не в конечном итоге предложу свой пароль БД для пользователей.

1 Ответ

0 голосов
/ 16 мая 2018

Вы можете использовать PHPMD с таким правилом, как Фрагмент кода разработки .Вы захотите запускать это каждый раз, прежде чем переходить в рабочий режим.

Такие функции, как var_dump (), print_r () и т. Д., Как правило, используются только во время разработки, и поэтому такие вызовы в рабочем коде хороши.индикатор того, что они были просто забыты.

Пример:

class SuspectCode {

    public function doSomething(array $items)
    {
        foreach ($items as $i => $item) {
            // …

            if ('qafoo' == $item) var_dump($i);

            // …
        }
    }
}

Это правило имеет следующие свойства:

Неверно сформированная таблица.Текст в поле столбца в строке таблицы 4.

=================================== =============== ==================================================
 Name                                Default Value   Description
=================================== =============== ==================================================
 unwanted-functions                  var_dump,print_r,debug_zval_dump,debug_print_backtrace  Comma separated list of suspect function images.
=================================== =============== ==================================================
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...