Ответить
1 2
Мод входа - поддержка паролей Ucoz
Отправлено: 30 Июл 2011#1
Мод обеспечивает поддержку паролей Ucoz, благодаря чему пользователи, перенесенные с помощью конвертора смогут авторизироваться без необходимости смены пароля.
Для установки мода необходимо:
1) В функции "login" файла "\modules\users\index.php" заменить строки
на строки
2) В функции "update" файла "\modules\users\index.php" заменить строки
на строки
3) В файле "\sys\fnc\autologin.php" заменить строки
на строки
4) В файле "\admin\inc\adm_boot.php" заменить строки
на строки
Для установки мода необходимо:
1) В функции "login" файла "\modules\users\index.php" заменить строки
Code:
$res = $this->DB->query("SELECT *, UNIX_TIMESTAMP(last_visit) as unix_last_visit
FROM `" . $this->DB->getFullTableName('users') . "` WHERE name='"
.mysql_real_escape_string( $name )."' AND passw='".mysql_real_escape_string( md5( $password ) )
."' LIMIT 1");
if (count($res) == 0) $error = $error.'<li>' . __('Wrong login or pass') . '</li>'."\n";
FROM `" . $this->DB->getFullTableName('users') . "` WHERE name='"
.mysql_real_escape_string( $name )."' AND passw='".mysql_real_escape_string( md5( $password ) )
."' LIMIT 1");
if (count($res) == 0) $error = $error.'<li>' . __('Wrong login or pass') . '</li>'."\n";
Code:
$res = $this->DB->query("SELECT *, UNIX_TIMESTAMP(last_visit) as unix_last_visit
FROM `" . $this->DB->getFullTableName('users') . "` WHERE name='"
.mysql_real_escape_string( $name )."' LIMIT 1");
$test = false;
if (count($res) > 0) {
$passw = $res[0]['passw'];
$pos = strpos($passw, '$', 3);
if (strpos($passw, '$1$') === 0 && CRYPT_MD5 == 1 && $pos > 0) {
$test = (crypt( $password, substr($passw, 0, $pos + 1)) == $passw);
} else {
$test = (md5( $password ) == $passw);
}
}
if (count($res) == 0 || !$test) $error = $error.'<li>' . __('Wrong login or pass') . '</li>'."\n";
FROM `" . $this->DB->getFullTableName('users') . "` WHERE name='"
.mysql_real_escape_string( $name )."' LIMIT 1");
$test = false;
if (count($res) > 0) {
$passw = $res[0]['passw'];
$pos = strpos($passw, '$', 3);
if (strpos($passw, '$1$') === 0 && CRYPT_MD5 == 1 && $pos > 0) {
$test = (crypt( $password, substr($passw, 0, $pos + 1)) == $passw);
} else {
$test = (md5( $password ) == $passw);
}
}
if (count($res) == 0 || !$test) $error = $error.'<li>' . __('Wrong login or pass') . '</li>'."\n";
Code:
if ( md5( $_POST['password'] ) != $_SESSION['user']['passw'] )
$error = $error.'<li>' . __('Wrong current pass') . '</li>'."\n";
$error = $error.'<li>' . __('Wrong current pass') . '</li>'."\n";
Code:
$test = false;
$passw = $_SESSION['user']['passw'];
$pos = strpos($passw, '$', 3);
if (strpos($passw, '$1$') === 0 && CRYPT_MD5 == 1 && $pos > 0) {
$test = (crypt( $password, substr($passw, 0, $pos + 1)) == $passw);
} else {
$test = (md5( $password ) == $passw);
}
if (!$test)
$error = $error.'<li>' . __('Wrong current pass') . '</li>'."\n";
$passw = $_SESSION['user']['passw'];
$pos = strpos($passw, '$', 3);
if (strpos($passw, '$1$') === 0 && CRYPT_MD5 == 1 && $pos > 0) {
$test = (crypt( $password, substr($passw, 0, $pos + 1)) == $passw);
} else {
$test = (md5( $password ) == $passw);
}
if (!$test)
$error = $error.'<li>' . __('Wrong current pass') . '</li>'."\n";
Code:
$query = "SELECT *, UNIX_TIMESTAMP(last_visit) as unix_last_visit
FROM `" . $FpsDB->getFullTableName('users') . "`
WHERE `name`='".mysql_real_escape_string( $name )."'
AND `passw`='".mysql_real_escape_string( $password )."'
LIMIT 1";
$res = $FpsDB->query( $query );
// Если пользователь с таким логином и паролем не найден -
// значит данные неверные и надо их удалить
if ( count( $res ) < 1 ) {
//$tmppos = strrpos( $_SERVER['PHP_SELF'], '/' ) + 1;
//$path = substr( $_SERVER['PHP_SELF'], 0, $tmppos );
$path = '/';
setcookie( 'autologin', '', time() - 1, $path );
setcookie( 'username', '', time() - 1, $path );
setcookie( 'password', '', time() - 1, $path );
return false;
}
FROM `" . $FpsDB->getFullTableName('users') . "`
WHERE `name`='".mysql_real_escape_string( $name )."'
AND `passw`='".mysql_real_escape_string( $password )."'
LIMIT 1";
$res = $FpsDB->query( $query );
// Если пользователь с таким логином и паролем не найден -
// значит данные неверные и надо их удалить
if ( count( $res ) < 1 ) {
//$tmppos = strrpos( $_SERVER['PHP_SELF'], '/' ) + 1;
//$path = substr( $_SERVER['PHP_SELF'], 0, $tmppos );
$path = '/';
setcookie( 'autologin', '', time() - 1, $path );
setcookie( 'username', '', time() - 1, $path );
setcookie( 'password', '', time() - 1, $path );
return false;
}
Code:
$query = "SELECT *, UNIX_TIMESTAMP(last_visit) as unix_last_visit
FROM `" . $FpsDB->getFullTableName('users') . "`
WHERE `name`='".mysql_real_escape_string( $name )."'
LIMIT 1";
$res = $FpsDB->query( $query );
$test = false;
if (count($res) > 0) {
$passw = $res[0]['passw'];
$pos = strpos($passw, '$', 3);
if (strpos($passw, '$1$') === 0 && CRYPT_MD5 == 1 && $pos > 0) {
$test = (crypt( $password, substr($passw, 0, $pos + 1)) == $passw);
} else {
$test = ($password == $passw);
}
}
// Если пользователь с таким логином и паролем не найден -
// значит данные неверные и надо их удалить
if (count($res) < 1 || !$test) {
//$tmppos = strrpos( $_SERVER['PHP_SELF'], '/' ) + 1;
//$path = substr( $_SERVER['PHP_SELF'], 0, $tmppos );
$path = '/';
setcookie( 'autologin', '', time() - 1, $path );
setcookie( 'username', '', time() - 1, $path );
setcookie( 'password', '', time() - 1, $path );
return false;
}
FROM `" . $FpsDB->getFullTableName('users') . "`
WHERE `name`='".mysql_real_escape_string( $name )."'
LIMIT 1";
$res = $FpsDB->query( $query );
$test = false;
if (count($res) > 0) {
$passw = $res[0]['passw'];
$pos = strpos($passw, '$', 3);
if (strpos($passw, '$1$') === 0 && CRYPT_MD5 == 1 && $pos > 0) {
$test = (crypt( $password, substr($passw, 0, $pos + 1)) == $passw);
} else {
$test = ($password == $passw);
}
}
// Если пользователь с таким логином и паролем не найден -
// значит данные неверные и надо их удалить
if (count($res) < 1 || !$test) {
//$tmppos = strrpos( $_SERVER['PHP_SELF'], '/' ) + 1;
//$path = substr( $_SERVER['PHP_SELF'], 0, $tmppos );
$path = '/';
setcookie( 'autologin', '', time() - 1, $path );
setcookie( 'username', '', time() - 1, $path );
setcookie( 'password', '', time() - 1, $path );
return false;
}
Code:
if ($login != strtolower($_SESSION['user']['name']) || md5($pass) != $_SESSION['user']['passw'])
$errors .= '<li>Не верный Пароль или Логин</li>';
$errors .= '<li>Не верный Пароль или Логин</li>';
Code:
$test = false;
$passw = $_SESSION['user']['passw'];
$pos = strpos($passw, '$', 3);
if (strpos($passw, '$1$') === 0 && CRYPT_MD5 == 1 && $pos > 0) {
$test = (crypt( $pass, substr($passw, 0, $pos + 1)) == $passw);
} else {
$test = (md5( $pass ) == $passw);
}
if ($login != strtolower($_SESSION['user']['name']) || !$test)
$errors .= '<li>Не верный Пароль или Логин</li>';
$passw = $_SESSION['user']['passw'];
$pos = strpos($passw, '$', 3);
if (strpos($passw, '$1$') === 0 && CRYPT_MD5 == 1 && $pos > 0) {
$test = (crypt( $pass, substr($passw, 0, $pos + 1)) == $passw);
} else {
$test = (md5( $pass ) == $passw);
}
if ($login != strtolower($_SESSION['user']['name']) || !$test)
$errors .= '<li>Не верный Пароль или Логин</li>';
Отредактировано автором 30 Июл 2011
Отправлено: 30 Июл 2011#2
Именно поддержку или замену на бкозовские пароли? Ну то есть фаповские пароли будут продолжать работать?
Отправлено: 30 Июл 2011#5
Сашка_из_Шебекино, случайно отправил предыдущую версию. Исправил, проверяйте.
Отредактировано автором 30 Июл 2011
Отправлено: 31 Июл 2011#6
Wasja, хм. Интересно. Спс)
Я горжусь тем, что помогаю в развитии бесплатной CMS - AtomX
Отправлено: 1 Авг 2011#7
Как всегда интересные моды от Wasja) Спасибо.
Добавлено2011.08.01 14-19
А может лучше было бы выложить измененные файлы - для просты установки?
Добавлено2011.08.01 14-19
А может лучше было бы выложить измененные файлы - для просты установки?
Я горжусь тем, что создал бесплатную CMS - AtomX . И люблю нашу команду)
Отправлено: 2 Авг 2011#9
Почему то теперь на главной пишет ошибку
Цитата
Notice: Undefined index: author_status in /home2/modos189/public_html/modules/pages/index.php on line 142
Отправлено: 2 Авг 2011#10
Сашка_из_Шебекино, этот файл не затрагивался, так что проблема не в моде
Судя по ошибке - проблема в том, что скрипт не находит авторов материала (например, автор был удален из БД).
Судя по ошибке - проблема в том, что скрипт не находит авторов материала (например, автор был удален из БД).
1 2
Зарегистрируйтесь или авторизуйтесь что бы писать
Сейчас online: 158. Зарегистрированных: 0. Гостей: 158.