"PHP" / Говнокод #16338 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
$data = "<?php define('DSN', 'mysql:dbname={$_POST['db_name']};host={$_POST['host_mysql']}'); define('DBUSER', '{$_POST['login_mysql']}'); define('DBPASS', '{$_POST['password_mysql']}');";
$mysql_string = file_get_contents( 'class/mysql.php' );
$new_mysql = $data . ' ' . $mysql_string;
if ( !file_put_contents( 'class/mysql.php', $new_mysql ) ) {
	errorMessage( "Не удалось сохранить файлы конфигураций, пожалуйста обратитесь в службу технической поддержки клиентов" );
}

install.php

Запостил: kindofbear kindofbear, (Updated )

Комментарии (11) RSS

  • $data = "<?php define('DSN'


    а на чем это написано, простите?
    или php вызывает php ?
    Ответить
    • Не вызывает, а дописывает php код в начало файла, где определён класс объекта базы данных 🙂 эпичнейший метод работы с конфигами
      Ответить
      • Имхо пользоваться шаблонизатором в данном случае будет более ресурсоемко, ввиду количества заполняемой информации.
        Ответить
        • А вас не смущает, что если выполнить два раза install, то будет....?)
          Ответить
          • > если выполнить два раза install, то будет....?
            что будет? новый конфиг перепишет старый?
            Ответить
            • Ничего не будет. Т.к. install.php на последнем шаге установки, как правило, самовыпиливается.
              Ответить
              • У них не выпиливается и
                $mysql_string = file_get_contents( 'class/mysql.php' );
                $new_mysql = $data . ' ' . $mysql_string;

                репитит данные до бесокнечности
                <?php ... <?php ... <?php
                Ответить
        • В любом случае, это слегка костыльный способ, не гоже так конфиги хранить, можно было бы завести отдельный файл и перезаписывать его содержимое полностью (хотя бы)
          Ответить
  • Пользователь базы данных "'); do_something_nasty();"
    Ответить

Добавить комментарий

Из-за тебя ушел bormand, guest!

    А не использовать ли нам bbcode?


    8