Guest User

Untitled

a guest
Oct 15th, 2017
102
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 3.34 KB | None | 0 0
  1. <?php
  2.     /* Funkce pro přihlášení, registraci, a logování přihlášení */
  3.    
  4.     $salt = "salt";
  5.    
  6.     // Petr Jirouš
  7.     function registerUser($username, $password, $email) {
  8.         // registrace uživatele
  9.    
  10.         // kontrola prázdných hodnot
  11.         if ( empty($username) || empty($password) || empty($email) ) {
  12.             // přesměrovaní na registraci
  13.             // header("Location: register.php");
  14.             die("Prázdné hodnoty.");
  15.         }
  16.        
  17.         $usernameLen = strlen(trim($username));
  18.         $passwordLen = strlen(trim($password));
  19.        
  20.         // kontrola délky hesla
  21.         if( $passwordLen < 4 || $passwordLen > 128 ) {
  22.             // přesměrování na registraci
  23.             // header("Location: register.php");
  24.             die("Délka hesla musí být od 4 do 128 znaků.");
  25.         }
  26.        
  27.         // kontrola délky uživatelského jména
  28.         if( $usernameLen < 5 || $username > 50 ) { 
  29.             // přesměrování na registraci
  30.             // header("Location: register.php");
  31.             die("Délka uživatelského jména musí být od 5 do 5O znaků.");
  32.         }
  33.        
  34.         // kontrola správně zadaného emailu
  35.         if( preg_match("/^([.0-9a-z_-]+)@(([0-9a-z-]+\.)+[0-9a-z]{2,4})$/i", $email) == 0 ) {
  36.             // přesměrování na registraci
  37.             // header("Location: register.php");
  38.             die("Nesprávně zadaný email.");
  39.         }
  40.        
  41.         $username = mysql_real_escape_string($username);
  42.         $password = mysql_real_escape_string($password);
  43.         $email = mysql_real_escape_string($email);
  44.        
  45.         $hashedPassword = sha1($GLOBALS['salt'] . trim($password));
  46.         unset($password);
  47.        
  48.         $insertQuery = "INSERT INTO `users` (`username`, `password`, `email`, `time`)
  49.                     VALUES ('{$username}', '{$hashedPassword}', '{$email}', NOW())";
  50.        
  51.         if( mysql_query($insertQuery) == FALSE ) {
  52.             // přesměrování na registraci
  53.             // header("Location: register.php");
  54.             die("Nepodařilo se zapsat údaje do databáze.");
  55.             var_dump($insertQuery);
  56.         } else {
  57.             // registrace proběhla úspěšně
  58.         }
  59.        
  60.     }
  61.    
  62.     // Petr Jirouš
  63.     function loginUser($username, $password) {
  64.         // přihlášení uživatele
  65.    
  66.         $username = mysql_real_escape_string($username);
  67.         $selectQuery = "SELECT `id`, `password` FROM `users` WHERE `username` = '{$username}'";
  68.         $resultArray = @mysql_fetch_array(mysql_query($selectQuery));
  69.        
  70.         $hashedPassword = sha1($GLOBALS['salt'] . trim($password));
  71.        
  72.         if( empty($resultArray['id']) ) {
  73.             loginUserLog($username, 0);
  74.             die("Uživatel neexistuje.");
  75.         }
  76.        
  77.         if( $resultArray['password'] == $hashedPassword ) {
  78.             session_start();
  79.            
  80.             session_register("loggedId");
  81.             $_SESSION['loggedId'] = $resultArray['id'];
  82.            
  83.             // přesměrování na stránku gameModulu
  84.             // header("Location: gameModule.php");
  85.             // die("success");
  86.             echo "success";
  87.             loginUserLog($username, 1);
  88.         } else {
  89.             loginUserLog($username, 0);
  90.             die("Špatné heslo.");
  91.         }
  92.    
  93.     }
  94.    
  95.     // Petr Jirouš
  96.     function loginUserLog($username, $success) {
  97.         // slouží k zapsání všech pokusů o přihlášení do DB
  98.    
  99.         $username = mysql_real_escape_string($username);
  100.         $success  = mysql_real_escape_string($success);
  101.        
  102.         $insertQuery = "INSERT INTO `logins` (`username`, `ipAddress`, `time`, `success`)
  103.                 VALUES ('{$username}', '{$_SERVER['REMOTE_ADDR']}', NOW(), '{$success}')";
  104.        
  105.         if( mysql_query($insertQuery) == FALSE ) {
  106.             // přesměrování
  107.             die("Chyba při zapisování do logu.");
  108.         } else {
  109.             // úspěšné zapsání do logu
  110.         }
  111.        
  112.     }
Add Comment
Please, Sign In to add comment