Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> czy takie sposób jest dobry?
john_doe
post
Post #1





Grupa: Zarejestrowani
Postów: 873
Pomógł: 25
Dołączył: 24.07.2005

Ostrzeżenie: (0%)
-----


Witajcie,
napisałem dziś logowanie. Napiszcie czy jest ok? Ogólnie działa ale, że działa to nie wszystko. Co byście zmienili? Co robię źle i bez sensu? czy idea jest oki? Czy idzie ten kod jakoś obejść i wejść mimo logowania na stronę?

poniżej kod z komentarzem

  1. <?php
  2.        
  3.    include ('db/conection.php');  // łącze się z db za pomocą PDO
  4.    
  5.    include('querries/confQuerries.php');  // tutaj plik z zapytaniami SQL
  6.    
  7.    
  8.    $howMany = $dbh -> query($COUNT_LOGIN_USERS);     // tutaj zapytanie count(*) where $_POST['login']
  9.        
  10.    foreach( $howMany as $k )
  11.    {
  12.    
  13.        $count = $k[0];
  14.    
  15.    }
  16.    
  17.    
  18.    if ( $count == 1 )  // jeśli zapytanie zwróciło jeden wiersz
  19.    {
  20.                foreach ( $dbh -> query( $SELECT_USER ) as $row ) // wybieram wszystkie dane usera where $_POST['login']
  21.                {
  22.                    if ( $_POST['login'] == $row[1] && $_POST['pass'] == $row[2] )  // jeśli wpisany login odpowiada loginowi w bazie i wpisane haslo odpowiada temu z bazy przypisuje wynik zapytania do sesji
  23.                    {
  24.                        $_SESSION['id']       = $row[0];
  25.                        $_SESSION['login']    = $row[1];
  26.                        $_SESSION['pass']     = $row[2];
  27.                        $_SESSION['name']     = $row[3];
  28.                        $_SESSION['surname']  = $row[4];
  29.                        $_SESSION['nickname'] = $row[5];
  30.                        $_SESSION['level']    = $row[6];
  31.                        $_SESSION['xlid']     = $row[7];
  32.                        $_SESSION['region']   = $row[8];
  33.                        $_SESSION['logIn']    = 1;
  34.                        
  35.                        $output = getdate();
  36.                        
  37.                        $loginAim = $output[year] . '-' . $output[mon] . '-' . $output[mday] . ', ' . $output[hours] . ':' . $output[minutes] . ':' . $output[seconds];
  38.                        
  39.                        include('querries/confQuerries.php');
  40.                        
  41.                        if ( $_SESSION['xlid'] != 5555555 ) // nie loguje ADMINA
  42.                        {
  43.                            $dbh -> query( $INSERT_LOGGED_USER ); // log kto i kiedy sie zalogował
  44.                                
  45.                            foreach( $dbh -> query( $SELECT_LAST_INSERT_ID_PER_USER ) as $row )
  46.                            {
  47.                                $_SESSION['sessionIdLogger'] = $row[0];
  48.                            }
  49.        
  50.                        }    
  51.                            
  52.                        header( 'Location: http://' . $_SERVER['HTTP_HOST'] . rtrim(dirname($_SERVER['PHP_SELF']), '/') . '/' . mainView.'.'.php ); // jesli wszystko ok to kieruje na stronę jakąś tam dostępną po zalogowaniu poprawnym
  53.                        exit;
  54.                    }else
  55.                        {
  56.                            header( 'Location: http://' . $_SERVER['HTTP_HOST'] . rtrim(dirname($_SERVER['PHP_SELF']), '/') . '/' . index.'.'.php ); // jeśli coś nie tak to kieruje na stronę logowania
  57.                            exit;
  58.                        }
  59.                    
  60.                }
  61.    
  62.    }else header( 'Location: http://' . $_SERVER['HTTP_HOST'] . rtrim(dirname($_SERVER['PHP_SELF']), '/') . '/' . index.'..php );
  63.    
  64.    
  65. ?>
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 20.08.2025 - 23:58