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

0

  1. 1
define('MYSQL_PASS', 'пароль');

нет, ну вот прям так вот и лежит посреди кода :)

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

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

  • Вы предлагаете передавать пароль через GET\POST-параметры или хранить в переменной, к которой можно только в определённой области видимости обращаться?
    Ответить
      • Если вы про парсинг .ini-файла, то это православнее, согласен.
        Но, как по мне, хранить пароль от базы в константах — не есть говнокод, это даже не плохо.

        Вот если в константу записывали бы base64-ый пароль, а при применении бы раскодировали каждый раз — вот это другое дело. Вы так не считаете?
        Ответить
          • Для обычного хостинга сервер отдаст http://some-host.test/file.php на скачку. Понятное дело, что о безопасности нужно думать в первую очередь.

            Когда я говорил “православее”, то имел в виду, что в действительности система скриптов разделена на рабочие области, и их конфигурации выносятся отдельно в файл настроек. (Как, например, у многих десктопных программ)
            Ответить
            • Если обычный-хостинг отдает php на скачку, то это не хостинг, а narod.ru.
              Ответить
          • http://some-site/conf.ini.php:
            ; <?php __halt_compiler(); А дальше идёт обычный ini-файл, который легко и непринуждённо парсится parse_ini_file()
            [sec1]
            hello=1
            world=2
            [sec2]
            foo=3
            bar=4
            Ответить
            • Если все равно писать тэги, то нахрена ини-файл-то ? Что запрещает $hello = 1; написать ? Или, чтоб уж совсем православно и тру-оопешно, $config->set('hello', 1); ?
              Ответить
              • > нахрена ини-файл-то ?
                parse_ini_file() быстрее include. Можешь проверить.
                > чтоб уж совсем православно и тру-оопешно, $config->set('hello', 1);
                Хороший пример того, когда гонка за труЪ-ООПешностью приводит к формированию говнокода. ТруЪ-ООПе - хорошая и нужная вещь, но перегибать не надо. Вызов метода медленнее присвоения значения элементу массива.
                Ответить
        • Немного не уловил суть. В чём будет безопаснее? Любое обратимое преобразование по определению ненадёжно. У меня есть стыренные сорцы одного говносайта, который делала местная контора говнокодеров. Толи они в свою очередь украли у кого-то, толи сами придумали, но они хранят для входа в партнёрку оптовой базы не хеш/соль, а - правильно - base64 представление строки пароля. Сильно.
          Надо будет повыдирать вкусностей и перепостить.
          Ответить
      • Ну лежит оно посреди кода, конфигурационный файл тоже будет подключаться где то посреди кода. И в чем разница?
        Ответить
      • Если конфигурационный файл - это файл синтаксиса типа .ini, то чем конкретно он лучше .php? Если нет, тогда вы что вообще имели в виду?
        Ответить
  • Приведу несколько запросов, с помощью которых хакер без труда добывает нужную информацию. Естественно, что только Google помогает ему в этом нелегком деле.

    Index.of master.passwd – поиск паролей во FreeBSD
    Index.of /admin – почувствуй себя админом!
    Index.of ws_ftp.ini – а теперь найдем конфиг для WS_FTPD
    Index.of "amount.xls" – или важную банковскую базу
    filetype:sql inurl:users – кстати, о базах...
    intitle:Usage Statistics for Generated by Webalizer – смотрим статистику
    intitle:Index of dbconvert.exe chats – а также логи ICQ-чата
    site:jp filetype:pl inurl:txt – это мы уже проходили. Special for Japan 🙂
    filetype:php inurl:file – поиск инклуд-файлов к PHP
    inurl:main.php Welcome to phpMyAdmin – дырявый phpMyAdmin

    хакер.ру
    Ответить
    • Если пароль лежит в инклюд-файле, который находится выше рута, или к нему запрещен доступ htdocs'ом, то никак ты его оттуда не достанешь
      Ответить
    • Это пиздец.
      Хакер жжот напалмом.

      Этому способу поиска уже 7 лет как.
      Ответить
  • хм...
    в стиле MYSQL_PASS пишу я.
    откуда ты взял мой код?

    хотя я всетаки выношу такое в конфиг-файл
    Ответить

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

Я, guest, находясь в здравом уме и твердой памяти, торжественно заявляю:

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


    8