Webboard

Pełna wersja: Validacja hasła
Aktualnie przeglądasz uproszczoną wersję forum. Kliknij tutaj, by zobaczyć wersję z pełnym formatowaniem.
Adres forum:
http://multiprogamers.pl/



Wersja silnika:
1.8.20


Opis problemu:
Gdzie znajdę skrypt/ustawienia, odpowiadające za sprawdzanie czy hasła są takie same
Z miesiąc temu miałem problem gdzie forum czytało takie same hasła jako różne, więc usunałem parę linijek skryptu, okienko do wpisania hasła przy rejestracji i było git.

Teraz wpadła jakiś update mybb i nie można się rejestrować bo skrypt chyba został nadpisany przez nowy i znowu szuka czy hasła są takie same, a w moim stylu już nawet nie ma okienka na drugie hasło.
Wait wait
Do logowania nie jest wymagane potwierdzenie hasła
Kod PHP:
if($mybb->input['action'] == "login")
{
    
$plugins->run_hooks("member_login");
    
$member_loggedin_notice "";
    if(
$mybb->user['uid'] != 0)
    {
        
$mybb->user['username'] = htmlspecialchars_uni($mybb->user['username']);
        
$lang->already_logged_in $lang->sprintf($lang->already_logged_inbuild_profile_link($mybb->user['username'], $mybb->user['uid']));
        eval(
"\$member_loggedin_notice = \"".$templates->get("member_loggedin_notice")."\";");
    }
    
// Checks to make sure the user can login; they haven't had too many tries at logging in.
    // Is a fatal call if user has had too many tries. This particular check uses cookies, as a uid is not set yet
    // and we can't check loginattempts in the db
    
login_attempt_check();
    
// Redirect to the page where the user came from, but not if that was the login page.
    
if(isset($_SERVER['HTTP_REFERER']) && strpos($_SERVER['HTTP_REFERER'], "action=login") === false)
    {
        
$redirect_url htmlentities($_SERVER['HTTP_REFERER']);
    }
    else
    {
        
$redirect_url '';
    }
    
$captcha '';
    
// Show captcha image for guests if enabled and only if we have to do
    
if($mybb->settings['captchaimage'] && $do_captcha == true)
    {
        require_once 
MYBB_ROOT.'inc/class_captcha.php';
        
$login_captcha = new captcha(false"post_captcha");
        if(
$login_captcha->type == 1)
        {
            if(!
$correct)
            {
                
$login_captcha->build_captcha();
            }
            else
            {
                
$captcha $login_captcha->build_hidden_captcha();
            }
        }
        elseif(
in_array($login_captcha->type, array(245)))
        {
            
$login_captcha->build_recaptcha();
        }
        if(
$login_captcha->html)
        {
            
$captcha $login_captcha->html;
        }
    }
    
$username "";
    
$password "";
    if(isset(
$mybb->input['username']) && $mybb->request_method == "post")
    {
        
$username htmlspecialchars_uni($mybb->get_input('username'));
    }
    if(isset(
$mybb->input['password']) && $mybb->request_method == "post")
    {
        
$password htmlspecialchars_uni($mybb->get_input('password'));
    }
    if(!empty(
$errors))
    {
        
$mybb->input['action'] = "login";
        
$mybb->request_method "get";
        
$inline_errors inline_error($errors);
    }
    switch(
$mybb->settings['username_method'])
    {
        case 
1:
            
$lang->username $lang->username1;
            break;
        case 
2:
            
$lang->username $lang->username2;
            break;
        default:
            break;
    }
    
$plugins->run_hooks("member_login_end");
    eval(
"\$login = \"".$templates->get("member_login")."\";");
    
output_page($login);

A do rejestracji
Member.php#93

Po 2 rekomenduje się potwierdzenie hasło w rejestracji
Po 3 usuwasz linijki na pałę? Nie wiesz, że właśnie ze względu na to co napisałeś wyżej nie modyfikuje się plików myBB? Mały update danego pliku i forum Ci się sypie
Istnieje jakaś opcja usunięcia i zabezpieczenia tego przed update'ami?

Forum w jakiś sposób zawsze czyta to jako inne hasła.
I to nie przez edycję plików mybb.
I nie usuwam bezmyślnie pare linijek żeby ładniej wyglądało.

Edit.
Nie chodziło na pewno o member.php, tam jest wszystko git
Był to chyba jakiś js
Za logowanie/rejestracje odpowiada Member.php, więc jak tego pliku nie ruszałeś to wszystko z MyBB jest w porządku.
Przyczyny bym szukał w Twoim stylu. Może nie jest dostosowany do najnowszej wersji
(09.06.2019, 17:31)Patryk Stefański napisał(a): [ -> ]Za logowanie/rejestracje odpowiada Member.php, więc jak tego pliku nie ruszałeś to wszystko z MyBB jest w porządku.
Przyczyny bym szukał w Twoim stylu. Może nie jest dostosowany do najnowszej wersji

Testowałem rejestrację na stylu standardowym. Problem jest ten sam "hasła są różne"
Więc zależy mi na usunięciu tego skryptu z plików który sprawdza czy są takie same, bo wtedy wystarczy jedno okienko na hasło, a drugie jest ignorowane.

W member.php linijka walidacji jest już usunięta, ale ten drugi plik właśnie nie przepuszcza konta ze względu na wyrzucenie błędu na ekran i przerwanie skryptu.
Zrób jeszcze raz update forum do najnowszej wersji i sprawdź na domyślnym
Przeinstalowałem skrypt, zrobiłem updatey, przekodowałem system rejestracji, oraz dodałem skrypt który sprawdza dodatkowo czy hasła są takie same, a jeżeli są wymusza to na mybb żeby zaakceptowało i działa