Файл: denwer/Tools/addmuser/index.php
Строк: 77
<?php
@extract($_SERVER, EXTR_SKIP); @extract($_POST, EXTR_SKIP); @extract($_GET, EXTR_SKIP);
if (@$doGo) {
  do {
    if (!@mysql_connect("localhost", "root", $rootpass)) {
      $eBadRootPass = mysql_error();
      break;
    }
    SetCookie("mysqlpass", $rootpass, time()+3600*24*365*5);
    if ($db=="" || !preg_match('/^[a-z0-9_]+$/i',$db)) {
      $eBadDb = 1; break;
    }
    if ($login=="" || !preg_match('/^[a-z0-9_]+$/i',$login)) {
      $eBadUser = 1; break;
    }
    if ($password!=$password1) {
      $eBadPass = 1; break;
    }
    
    // Create database.
    if (!@mysql_query("CREATE DATABASE `$db`")) {
      $eDBExists = 1; break;
    }
    mysql_select_db("mysql");
    // Search for user.
    $r = @mysql_query("select * from user where user='$login'");
    if (@mysql_num_rows($r)) {
      $eUserExists=1; break;
    }
    // Insert user entry.
    $sql = "
      INSERT INTO user (Host,        User,     Password,              File_priv) 
      VALUES           ('localhost', '$login', PASSWORD('$password'), 'Y'      )
    ";
    if (!mysql_query($sql)) {
      $eSqlError = mysql_error(); break;
    }
    // Insert DB entry.
    $sql = "
      INSERT INTO db (
        Host, Db, User, 
        Select_priv, Insert_priv, Update_priv, Delete_priv, Create_priv, Drop_priv, Grant_priv, References_priv, Index_priv, Alter_priv, Create_tmp_table_priv, Lock_tables_priv 
      ) VALUES (
        'localhost', '$db', '$login',
        'Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y'
      )
    ";
    if (!mysql_query($sql)) {
      $eSqlError = mysql_error(); break;
    }
    // Reload MySQL.
    mysql_query("FLUSH PRIVILEGES");
    $eOK = 1;
  } while(0);
}
if (!isSet($rootpass)) $rootpass=@$mysqlpass;
?>
<div class="body2">
<div class="head2"><a href="/"><img src="../../img/logo.png"></a></div>
<?include "../../_header.php"?>
<?if(@$eOK) {
  echo '<div class="ok">База даных создана!</div>';
}?>
<div class="z1">
<form name=Form action=<?=$SCRIPT_NAME?> method=POST>
<span class="q2">Пароль администратора MySQL:</span>
    <div class="right"><input type=password size=30 name=rootpass value="<?=@HtmlSpecialChars($rootpass)?>"></div>
    <?if(@$eBadRootPass) {?>
    <font color=red size=2>Ошибка: <?=$eBadRootPass?></font>.
    <?}?>
<hr>
<span class="q2">Имя базы данных:</span>
    <div class="right"><input type=text size=30 name=db value="<?=@HtmlSpecialChars($db)?>"></div>
    <?if(@$eBadDb) {?>
    <font color=red size=2>Ошибка: недопустимое имя базы данных.</font>
    <?}?>
    <?if(@$eDBExists) {?>
    <font color=red size=2>Ошибка: такая база данных уже есть.</font>
    <?}?>
<hr>
<span class="q2">Логин пользователя:</span>
    <div class="right"><input type=text size=30 name=login value="<?=@HtmlSpecialChars($login)?>" onChange="chg=true;" onFocus="chg=true;"></div>
    <?if(@$eBadUser) {?>
    <font color=red size=2>Ошибка: недопустимое имя пользователя.</font>
    <?}?>
    <?if(@$eSqlError) {?>
    <font color=red size=2>Ошибка SQL: <?=$eSqlError?>.</font>
    <?}?>
    <?if(@$eUserExists) {?>
    <font color=red size=2>Ошибка: такой пользователь уже есть.</font>
    <?}?>
<hr>
<span class="q2">Пароль:</span>
<div class="right"><input type=password size=30 name=password value="<?=@HtmlSpecialChars($password)?>"></div>
<hr>
<span class="q2">Повторите пароль:</span>
    <div class="right"><input type=password size=30 name=password1 value="<?=@HtmlSpecialChars($password1)?>"></div>
    <?if(@$eBadPass) {?>
    <font color=red size=2>Ошибка: пароли не совпадают.
    <?}?>
<hr>
<center><input class="in" type=submit name=doGo value="Создать БД"></center>
    <font size=-1>
    <p><b>Примечание</b>: пароль администратора MySQL по умолчанию пустой.
</form>
<script language=JavaScript>
<!--
var chg=document.Form.login.value!=document.Form.db.value;
function Sync() {
  var form=document.Form;
  if(!chg) {
    form.login.value=form.db.value;
    setTimeout("Sync()",100);
  }
}
Sync();
//-->
</script>
</div></div>
<?//include "../../_footer.php"?>