Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Интернет » В помощь вебмастеру » Sypex Dumper (бывший Site Keeper Dumper)

Модерирует : Cheery

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7

Открыть новую тему     Написать ответ в эту тему

zapimir



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Скрипт для бекапа/восстановления БД MySQL. Не использует сторонних программ (типа, mysqldump), работает значительно быстрее phpMyAdmin, без проблем работает с большими базами (сотни мегабайт), поддерживает gzip и bzip2 сжатие, без проблем работает на winxp и linux. В общем удобная тулза для бекапа/восстановления БД.
 
Подробнее здесь
http://sypex.net/

Всего записей: 651 | Зарегистр. 28-10-2001 | Отправлено: 18:45 06-12-2003 | Исправлено: zapimir, 03:52 29-03-2006
cesair

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Сравнил - скрипт с авторизацией с паролем содержащим ":" и ","  в виде
 

Код:
$sql_sock = mysql_connect($sql_server.":".$sql_port, $sql_login, $sql_passwd);

 
коннектится к базе нормально, а dumper.php с авторизацией типа
 

Код:
@mysql_connect(DBHOST, $_POST['login'], $_POST['pass']))

 
пишет access denied. Походу он неправильно интерпретирует один их этих символов - или ":" или ","
 
Народ, подскажите плиз как это пофиксить?

Всего записей: 89 | Зарегистр. 19-08-2006 | Отправлено: 01:20 22-08-2009 | Исправлено: cesair, 01:25 22-08-2009
Cheery



.:МордератоР:.
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
cesair

Цитата:
Народ, подскажите плиз как это пофиксить?  

добавить trim
и лучше так не оставлять - могут заняться перебором

----------
Away/DND

Всего записей: 52737 | Зарегистр. 04-04-2002 | Отправлено: 01:21 22-08-2009
cesair

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Cheery Напиши точный кусок кода как он должен быть? А то я в этом признатся не особо........

Всего записей: 89 | Зарегистр. 19-08-2006 | Отправлено: 01:24 22-08-2009
Cheery



.:МордератоР:.
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
@mysql_connect(DBHOST, trim($_POST['login']), trim($_POST['pass'])))

----------
Away/DND

Всего записей: 52737 | Зарегистр. 04-04-2002 | Отправлено: 01:27 22-08-2009
cesair

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Если заменить только одну эту строчку то не помогает, снова вылетает access denied, а если поменять
 

Код:
$auth = 0;
$error = '';
if (!empty($_POST['login']) && isset($_POST['pass'])) {
    if (@mysql_connect(DBHOST, $_POST['login'], $_POST['pass'])){
        setcookie("skd", base64_encode("SKD101:{$_POST['login']}:{$_POST['pass']}"));
        header("Location: dumper.php");
        mysql_close();
        exit;
    }

 
на  

Код:
 
$auth = 0;
$error = '';
if (!empty(trim($_POST['login']) && isset(trim($_POST['pass'])) {
    if (@mysql_connect(DBHOST, trim($_POST['login']), trim($_POST['pass']))){
        setcookie("skd", base64_encode("SKD101:{$_POST['login']}:{$_POST['pass']}"));
        header("Location: dumper.php");
        mysql_close();
        exit;
    }

то скрипт вылетает с ошибкой ещё до ввода ароля, пишет что ошибка в 47 строке
 
Parse error: parse error, unexpected T_BOOLEAN_AND, expecting ')' in T:\home\localhost\dumper.php on line 47
 
Что тут неправильно?
 

Код:
if (!empty(trim($_POST['login']) && isset(trim($_POST['pass'])) {

 
 

Всего записей: 89 | Зарегистр. 19-08-2006 | Отправлено: 01:40 22-08-2009 | Исправлено: cesair, 01:56 22-08-2009
Cheery



.:МордератоР:.
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
cesair

Цитата:
Что тут неправильно?  

скобки посчитайте
empty не закрыто
и после isset нет скобки закрывающей условие if

----------
Away/DND

Всего записей: 52737 | Зарегистр. 04-04-2002 | Отправлено: 01:55 22-08-2009 | Исправлено: Cheery, 01:55 22-08-2009
cesair

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
В таком варианте у меня чёта вообще пустая страница получается........ %)

Код:
 
if (!empty(trim($_POST['login'])) && isset(trim($_POST['pass'])) {  
    if (@mysql_connect(DBHOST, trim($_POST['login']), trim($_POST['pass'])))){  
        setcookie("skd", base64_encode("SKD101:{$_POST['login']}:{$_POST['pass']}"));  
        header("Location: dumper.php");  
        mysql_close();  
        exit;  
    }

Всего записей: 89 | Зарегистр. 19-08-2006 | Отправлено: 02:02 22-08-2009
Cheery



.:МордератоР:.
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
cesair
означает ошибку в  
@mysql_connect(DBHOST, trim($_POST['login']), trim($_POST['pass'])))
уберите @ и читайте что напишет
а еще лучше - посмотрите, наконец, что у вас передается в этом массиве
print_r($_POST);

----------
Away/DND

Всего записей: 52737 | Зарегистр. 04-04-2002 | Отправлено: 02:22 22-08-2009 | Исправлено: Cheery, 02:25 22-08-2009
Mercuree



Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору

Цитата:
Правда в отличие от дампера c99 позволяет дампить не всю базу а только нужные таблицы, и в этом его несомненный плюс.

sypex dumper позволяет указать только нужные таблицы.

Всего записей: 138 | Зарегистр. 16-11-2002 | Отправлено: 02:47 22-08-2009
cesair

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
означает ошибку в  
@mysql_connect(DBHOST, trim($_POST['login']), trim($_POST['pass'])))  
уберите @ и читайте что напишет

Ничего не пишет, пустая страница.
 

Цитата:
а еще лучше - посмотрите, наконец, что у вас передается в этом массиве  
print_r($_POST);

Пока не вижу.........  
 

Цитата:
sypex dumper позволяет указать только нужные таблицы.
Их надо вписать в "Фильтр таблиц"? Как то я про это не подумал........
 

Всего записей: 89 | Зарегистр. 19-08-2006 | Отправлено: 10:59 22-08-2009 | Исправлено: cesair, 11:14 22-08-2009
Cheery



.:МордератоР:.
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
cesair
как вы передаете логин и пароль в скрипт?

----------
Away/DND

Всего записей: 52737 | Зарегистр. 04-04-2002 | Отправлено: 11:02 22-08-2009
cesair

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Я ничего не менял в оригинальном скрипте кроме вот этого места
 

Код:
if (!empty(trim($_POST['login'])) && isset(trim($_POST['pass'])) {  
    if (@mysql_connect(DBHOST, trim($_POST['login']), trim($_POST['pass'])))){  
        setcookie("skd", base64_encode("SKD101:{$_POST['login']}:{$_POST['pass']}"));  
        header("Location: dumper.php");  
        mysql_close();  
        exit;  
    }

Если вот так заменить то при запуске скрипта на локалхосте отображается просто пустая страничка, а на хостинге ошибка вот в этой строчке
 
if (!empty(trim($_POST['login'])) && isset(trim($_POST['pass'])) {    
 
Чтобы было понятно зарегал хостинг акк http://dumper.tu2.ru На морде вход в шелл, пароль ru-board, путь к самому скрипту http://www.dumper.tu2.ru/dumper.php Я там в коде написал где и что я заменил, посмотри.  
 
 

Всего записей: 89 | Зарегистр. 19-08-2006 | Отправлено: 11:20 22-08-2009 | Исправлено: cesair, 11:47 22-08-2009
Cheery



.:МордератоР:.
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
cesair
я еще раз спрошу - каким образом вы передаете в скрипт пароль и логин к базе? Откуда?

----------
Away/DND

Всего записей: 52737 | Зарегистр. 04-04-2002 | Отправлено: 12:46 22-08-2009
cesair

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Ну как положено - через вебинтерфейс, открываю http:// ... /dumper.php и ввожу.

Всего записей: 89 | Зарегистр. 19-08-2006 | Отправлено: 13:02 22-08-2009
Cheery



.:МордератоР:.
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
cesair

Цитата:
путь к самому скрипту http://www.dumper.tu2.ru/dumper.php


Цитата:
 
Fatal error: Can't use function return value in write context in /home/tu2.ru/d/du/dumper/htdocs/www/dumper.php on line 83

сказал же, что не закрыли скобку у if
 

Код:
if (isset($_POST['login'])&&trim($_POST['login'])!='' && isset($_POST['pass'])) {    
    if (@mysql_connect(DBHOST, trim($_POST['login']), trim($_POST['pass']))){    
        setcookie("skd", base64_encode("SKD101:{$_POST['login']}:{$_POST['pass']}"));    
        header("Location: dumper.php");    
        mysql_close();    
        exit;    
    }
 
    else{
        $error = '#' . mysql_errno() . ': ' . mysql_error();
    }
}

ок.. авторизацию в базе проходит. дальше уже дело обработки куки.

----------
Away/DND

Всего записей: 52737 | Зарегистр. 04-04-2002 | Отправлено: 22:45 22-08-2009 | Исправлено: Cheery, 23:01 22-08-2009
cesair

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Ура! Беду с неправильной интерпретацией ":" и "," в пароле побороли!
Теперь бы ещё както решить проблему с кукисами.........

Всего записей: 89 | Зарегистр. 19-08-2006 | Отправлено: 13:02 23-08-2009
Cheery



.:МордератоР:.
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
cesair

Цитата:
Теперь бы ещё както решить проблему с кукисами..

нет там проблемы

Код:
if (isset($_POST['login'])&&trim($_POST['login'])!='' && isset($_POST['pass'])) {
    if (@mysql_connect(DBHOST, trim($_POST['login']), trim($_POST['pass']))){    
        setcookie("skd", base64_encode("SKD101:{$_POST['login']}:{$_POST['pass']}"));    
        header("Location: dumper.php");    
        mysql_close();    
        exit;    
    }
 
    else{
        $error = '#' . mysql_errno() . ': ' . mysql_error();
    }
}
elseif (!empty($_COOKIE['sxd'])) {
    $user = explode(":", base64_decode($_COOKIE['sxd']));
    if (@mysql_connect(DBHOST, $user[1], $user[2])){
        $auth = 1;
    }
    else{
        $error = '#' . mysql_errno() . ': ' . mysql_error();
    }
}
 

сравните названия
ps: и хранить в куках логин и пароль - плохо

----------
Away/DND

Всего записей: 52737 | Зарегистр. 04-04-2002 | Отправлено: 21:07 23-08-2009 | Исправлено: Cheery, 21:40 23-08-2009
cesair

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Гм.......... А если заменить этот кусок на  
 

Код:
if (isset($_POST['login'])&&trim($_POST['login'])!='' && isset($_POST['pass'])) {
    if (@mysql_connect(DBHOST, trim($_POST['login']), trim($_POST['pass']))){    
        setcookie("skd", base64_encode("SKD101:{$_POST['login']}:{$_POST['pass']}"));    
        header("Location: dumper.php?passed");    
        mysql_close();    
        exit;    
    }
 
    else{
        $error = '#' . mysql_errno() . ': ' . mysql_error();
    }
}
elseif (!empty($_COOKIE['skd'])) {
    $user = explode(":", base64_decode($_COOKIE['skd']));
    if (@mysql_connect(DBHOST, $user[1], $user[2])){
        $auth = 1;
    }
    else{
        $error = '#' . mysql_errno() . ': ' . mysql_error();
    }
}  

 
то с паролем не содержащим "," и ":" скрипт открывает базу нормально, но вот если там есть эти символы то снова вылетает access denied хотя в адресной строке и пишется ..../dumper.php?passed  
 

Всего записей: 89 | Зарегистр. 19-08-2006 | Отправлено: 22:12 23-08-2009 | Исправлено: cesair, 22:12 23-08-2009
Cheery



.:МордератоР:.
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
cesair

Цитата:
хотя в адресной строке и пишется ..../dumper.php?passed  

?passed я добавлял, чтобы проверить, что проходит дальше первоначальной авторизации
 
ps: сделайте такой пароль и дайте посмотреть

----------
Away/DND

Всего записей: 52737 | Зарегистр. 04-04-2002 | Отправлено: 22:14 23-08-2009 | Исправлено: Cheery, 22:15 23-08-2009
cesair

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
?passed я добавлял, чтобы проверить, что проходит дальше первоначальной авторизации
 
Это я понял.

Цитата:
ps: сделайте такой пароль и дайте посмотреть

Сделал, смотри!
Шелл с этими данными конектится нормально, а дампер обламывается, хотя и показывает passed.
 

Всего записей: 89 | Зарегистр. 19-08-2006 | Отправлено: 01:08 24-08-2009 | Исправлено: cesair, 01:50 24-08-2009
Открыть новую тему     Написать ответ в эту тему

Страницы: 1 2 3 4 5 6 7

Компьютерный форум Ru.Board » Интернет » В помощь вебмастеру » Sypex Dumper (бывший Site Keeper Dumper)


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru