Mysql

Тема в разделе "PHP программирование", создана пользователем Snake, 7 июн 2006.

Статус темы:
Закрыта.
  1. Snake

    Snake Гость

    Вобщем стала такая задача! Нужно узнать какие базы MySQL есть на сервере, потом узнать какие таблицы есть в каждой базе и название полей ну а потом естественно вывести! Возможно ли вообще такое написать на РНР и если да то подскажите как! :)
    Спасибо!
     
  2. acorn

    acorn PHP Developer

    Регистрация:
    29 авг 2004
    Сообщения:
    599
    Симпатии:
    3
    Посмотри исходный код phpMyAdmin :)
     
  3. Gisma

    Gisma Гость

    посмотри базу данных MySQL :) "mysql" там в таблицах все что тебе нужно:)
     
  4. Snake

    Snake Гость

    Понимаю что немного не по теме! Я долго долбался почему же у меня phpMyAdmin не работает! Оказалось интепритатор старый! :) Вобщем я обновился и теперь у меня некоторые скрипты не работаеют!! У меня файл для рабты с MySQL. Вобщем система такая:

    //Это все один файл

    <?php
    if($sub == "1")
    {
    //тут соединение с базой(все пароли, адреса задаются в else)
    }

    else
    {

    <form action=/index.php method="post">
    <input type="hidden" name=sub value=1>
    <input type="submit" value=Submit>

    }

    ?>


    Т.е. получается что при подтверждении данные else'а передаются в первую часть программы и начинается работа с базой. Но когда я запускаю скрипт, т.е. идет работа с else'ом, выдается вот такое вот "Notice: Undefined variable: sub in F:\Server\www\index.php on line 6", а дальше все таблицы и т.д.(весь else) На старом интепритаторе все работало, а поставил 5-й и начало выдавать. Т.е. нажимаю на submit, а данные даже не посылаются, возвращает на начальный уровень ;) Кстати я поставил в php.ini что выводило все ошибки кроме замечаний и надпись исчезла! Но скрипт все равно не работает! Может знает в чем дело!?
     
  5. acorn

    acorn PHP Developer

    Регистрация:
    29 авг 2004
    Сообщения:
    599
    Симпатии:
    3
    Поставь в php.ini register_globals в On.
     
  6. Snake

    Snake Гость

    Programmer, неа! не помогает...
     
  7. acorn

    acorn PHP Developer

    Регистрация:
    29 авг 2004
    Сообщения:
    599
    Симпатии:
    3
    Кажется, я понял в чем твоя ошибка.
    Поставь перед $sub знак @ т.е:
    Код (Text):
    if(@$sub == "1")
    Еще вариант: проверять существует ли перменная перед if-ом:
    Код (Text):
    if(IsSet($sub))
    //...а тут уже второй if
     
  8. _serg_

    _serg_ Гость

    to Snake
    в пхп-ини убери вывод нотисов
     
  9. acorn

    acorn PHP Developer

    Регистрация:
    29 авг 2004
    Сообщения:
    599
    Симпатии:
    3
    Для: _serg_
    Лучше пусть будут...
     
  10. _serg_

    _serg_ Гость

    так у него именно из-за этого вылазят косяки в хтмл-представлениях
    да и вообще на боевом сайте надо прятать такие дела
    а если он сам какой код разрабатывает, пусть поднимает для этого девелоперский сервер. вот там, как раз, все нотисы, ворнинги, ерроры - включать в обязательном порядке
     
  11. acorn

    acorn PHP Developer

    Регистрация:
    29 авг 2004
    Сообщения:
    599
    Симпатии:
    3
    Мне кажется, что лучше просто временно отключить, т.е. поставить @ - хотя, смотря что там и как там.. трудно сказать, когда не знаешь что там конкретно.
     
  12. _serg_

    _serg_ Гость

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

    а то будет примерно так:

    имеем - сайт MoneyNews
    http://www.moneynews.ru/
    открываем любой материал (наугад):
    http://www.moneynews.ru/article.asp?view=4908
    пробуем на прочность
    http://www.moneynews.ru/article.asp?view='4908
    на лицо стандартная sql-инъекция
    что-бы проэксплуатировать ее - надо узнать структуру таблицы:
    http://www.moneynews.ru/article.asp?view=4...999999999999999
    итого:
    MS-SQL -сервер, система, вероятно, масдай (причем никакого сканирования еще не производилось - все видно на экране)
    дальше я ничего делать, конечно, не буду, но даже лапух сразу попробует заюзать мс-скуэльную процедуру выполнения консольных команд. если удастся, сразу зальет веб-шелл, качнет, например, пинча, запустит эту заразу, убирется за собой и пойдет смотреть почту - что там нам прислал пинч.

    з.ы. несколько минут, что бы найти в поисковике уязвимый сайт! офигеть...
     
  13. acorn

    acorn PHP Developer

    Регистрация:
    29 авг 2004
    Сообщения:
    599
    Симпатии:
    3
    Для: _serg_
    Круто :unsure:
     
  14. sergushkin

    sergushkin Гость

    Всё это можно получить с помощью SQL-запросов

    1) Запрос
    Код (Text):
    show databases;
    возвращает таблицу из одного столбца с названиями баз данных на сервере MySQL

    2) Запрос
    Код (Text):
    show tables;
    возвращает таблицу из одного столбца с названиями таблиц в активной в данный момент базе данных

    3) Запрос
    Код (Text):
    describe <table_name>;
    возвращает таблицу с полной информацией о структуре таблицы с название <table_name> в активной в данный момент базе данных
     
Загрузка...
Статус темы:
Закрыта.

Поделиться этой страницей