• Авторизация


автоматическое востановление базы данных, с помошью дампера востановление базы данных, автоматическое востановление, dumper, востановление mysql базы 20-10-2009 18:22 к комментариям - к полной версии - понравилось!


Потребовалось мне закаченную базу в gzip архиве востановить, да так чтобы и менеджеры на работе могли это сделать и пароли не приходилось вводить. Использовал для этой цели всем известный Sypex Dumper + чьято разработка по авторезерву а мне нужно автовостановление.

Открываем dumper.php и в начале после

setcookie("sxd", base64_encode("SKD101:{$_POST['login']}:{$_POST['pass']}"));

вставляем: setcookie("sxdr", base64_encode("SKD101:{$_POST['login']}:{$_POST['pass']}"));

после:

elseif (!empty($_GET['sxd'])) {
$user = explode(":", base64_decode($_GET['sxd']));
if (@mysql_connect(DBHOST, $user[1], $user[2])){
$auth = 1;
}
else{
$error = '#' . mysql_errno() . ': ' . mysql_error();
}
}
вставляем:

elseif (!empty($_COOKIE['sxdr'])) {
$user = explode(":", base64_decode($_COOKIE['sxdr']));
if (@mysql_connect(DBHOST, $user[1], $user[2])){
$auth = 1;
}
else{
$error = '#' . mysql_errno() . ': ' . mysql_error();
}
}
elseif (!empty($_GET['sxdr'])) {
$user = explode(":", base64_decode($_GET['sxdr']));
if (@mysql_connect(DBHOST, $user[1], $user[2])){
$auth = 1;
}
else{
$error = '#' . mysql_errno() . ': ' . mysql_error();
}
}


после:

setcookie("sxd");

вставляем:

setcookie("sxdr");

находим:

function restore(){

и вместо:

if (!isset($_POST)) {$this->main();}

вставляем:

if (!isset($_REQUEST)) {$this->main();}




if (empty($_GET['sxdr'])) {

$base_root = (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] == 'on') ? 'https' : 'http';
$base_url = $base_root .= '://'. preg_replace('/[^a-z0-9-:._]/i', '', $_SERVER['HTTP_HOST']);

$req = $base_url.$_SERVER['REQUEST_URI'].'?sxdr='.$_COOKIE['sxdr'].'&';

$req .= isset($_REQUEST['db_restore']) ? 'db_restore='.$_REQUEST['db_restore'].'&' : '';
$req .= isset($_REQUEST['file']) ? 'file='.$_REQUEST['file'].'&' : '';
//$req .= isset($_REQUEST['comp_method']) ? 'comp_method='.$_REQUEST['comp_method'].'&' : '';
//$req .= isset($_REQUEST['comp_level']) ? 'comp_level='.$_REQUEST['comp_level'].'&' : '';
$req .= 'action=restore';
echo tpl_page('
');
exit;
}

меняем:

$this->SET['last_db_restore'] = isset($_POST['db_restore']) ? $_POST['db_restore'] : '';
$file = isset($_POST['file']) ? $_POST['file'] : '';

на:

$this->SET['last_db_restore'] = isset($_REQUEST['db_restore']) ? $_REQUEST['db_restore'] : '';
$file = isset($_REQUEST['file']) ? $_REQUEST['file'] : '';


В итоге получаем ссылку после ввода логина и пароля и нажатия на кнопочку "восстановить".
Эту ссылку можно добавить в избранное менеджеру или в bat файл, который предварительно загружает новую базу данных.
вверх^ к полной версии понравилось! в evernote


Вы сейчас не можете прокомментировать это сообщение.

Дневник автоматическое востановление базы данных, с помошью дампера востановление базы данных, автоматическое востановление, dumper, востановление mysql базы | bukan - Дневник Вован_новый | Лента друзей bukan / Полная версия Добавить в друзья Страницы: раньше»