phpBB2 by Przemo
Support forów phpBB2 modified by Przemo

FAQFAQ - PIERWSZA POMOC!!  regulaminREGULAMIN  SzukajSZUKAJ  UżytkownicyUżytkownicy  GrupyGrupy  StatystykiStatystyki
RejestracjaRejestracja  ZalogujZaloguj  DownloadDownload  katalog Forów DyskusyjnychKatalog Forów   FAQ Video tutoriale

Poprzedni temat «» Następny temat
Zmuszenie 1.12.7 do zapisywania hasła także w zwykłym md5
Autor Wiadomość
Kosimus


Pomógł: 1 raz
Posty: 60
Wysłany: 10-09-2012, 01:09   Zmuszenie 1.12.7 do zapisywania hasła także w zwykłym md5

Mam zbudowany mały system złożony z forum Przema, z Mantisa (bugtracker) i MRBS (skrypt do rezerwacji pomieszczeń, sprzętu itp.). Nie są zintegrowane z forum w pełnym tego słowa znaczeniu, ale korzystałem z tego, że wszystkie używają zwykłego, niesolonego md5 do zapisywania haseł. A raczej tak było do update do 1.12.7.
Problem polega na tym, że do bazy danych forum podpięte są pozostałe dwa skrypty. Po prostu pobierają sobie zeń użytkowników i hasła. I w tej chwili, po update do 1.12.7 wszystko wzięło w łeb, bo nie mamy już czystego md5 w hasłach, zatem pobrane dane z bazy forum nie działają w MRBS i Mantisie.

Potrzebuję więc zmusić forum, by oprócz obecnego zapisu hasła, nadal tworzyło także zapis w zwykłym md5. Jakieś dodatkowe pole w tabeli phpbb_users byłoby okej. Tak chyba będzie najprościej. Mam kopię bazy sprzed aktualizacji, więc mogę wpisać stare wartości md5 ręcznie do nowego pola, ale forum powinno także aktualizować hasło w nowym polu md5 w kilku przypadkach:
1. User zmienia hasło.
2. User używa przypomnienia hasła.
3. Rejestruje się nowy użytkownik.
4. Admin zmienia hasło.

Jakieś propozycje gdzie i jaki kod wstawić?
_________________
"Alt" nie jest twoim wrogiem! Używanie polskich znaków naprawdę nie boli!
 
     
Gadatliwa Kasia 

   
maminowiec


Pomógł: 551 razy
Posty: 1729
Wysłany: 10-09-2012, 11:49   

A nie lepiej zmienić sprawdzanie tych haseł (na obecny system Przemo) w MRBS i Mantisie ?
_________________
;] Ebooki do pobrania
 
     
Kosimus


Pomógł: 1 raz
Posty: 60
Wysłany: 10-09-2012, 12:34   

Wtedy musiałbym modyfikować dwa skrypty zamiast jednego, więc raczej nie ;) .

[ Dodano: 12-09-2012, 11:21 ]
Looknąłem w funkcje i zmieniłem zdanie :D . Prościej będzie zmusić MRBS do współpracy :p. Dodałem nowy rodzaj logowania przez zewnętrzną bazę:

Kod:
function authValidateUser($user, $pass)
{
  global $auth;

  $retval = 0;

  $user = strtolower($user);

  if (empty($auth['db_ext']['db_system']))
  {
    $auth['db_ext']['db_system'] = 'mysql';
  }

  $conn = sql_connect($auth['db_ext']['db_system'],
                      $auth['db_ext']['db_host'],
                      $auth['db_ext']['db_username'],
                      $auth['db_ext']['db_password'],
                      $auth['db_ext']['db_name']);

  $user = addslashes($user);

  $query = "SELECT " . $auth['db_ext']['column_name_password'] .
           " FROM " . $auth['db_ext']['db_table'] .
           " WHERE ". $auth['db_ext']['column_name_username'] . "='$user'";

  $r = sql_query($query, $conn);

  if ($r && (sql_count($r, $conn) == 1)) // force a unique match
  {
    $row = sql_row($r, 0, $conn);

    switch ($auth['db_ext']['password_format'])
    {



//Tu się zaczyna to, co sam dodałem

case 'phpbb':
        $itoa64 = './0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz';
    if($pass == '' || is_array($pass)) { return 0; }
    if (strlen($hash) == 34)
   
    {
        return (_hash_crypt_private($pass, $hash, $itoa64) === $hash) ? 1 : 0;
    }
    {
    $retval = 1;
    }
    //return 0;
        break;


Problem polega na tym, że w ten sposób można się zalogować podając dowolne hasło. Co zrobić, by działało tylko poprawne hasło?
_________________
"Alt" nie jest twoim wrogiem! Używanie polskich znaków naprawdę nie boli!
 
     
Wyświetl posty z ostatnich:   
Odpowiedz do tematu
Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach
Nie możesz załączać plików na tym forum
Możesz ściągać załączniki na tym forum
Dodaj temat do Ulubionych
Wersja do druku

Skocz do:  

Kopiowanie wszelkich treści zawartych na forum, modyfikacji oraz instrukcji bez zgody administracji i autorów tematów/postów zabronione!

Powered by phpBB modified by Przemo © 2003 phpBB
Strona wygenerowana w 0,06 sekundy. Zapytań do SQL: 13
Polecane serwisy

Najlepsze oprogramowanie do prowadzenia sklepu internetowegoNajlepszy program do sklepu firmowany przez Przem'a

Sklep z gadżetami

serwis laptopów

phpbb

Design Cart - Tworzenie sklepu internetowego

iRonin.IT

• Zamów reklamę