Guest User

Untitled

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