Файл: 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"?>