PageRenderTime 63ms CodeModel.GetById 32ms RepoModel.GetById 1ms app.codeStats 0ms

/login.php

https://bitbucket.org/mhell/mhmcr
PHP | 49 lines | 47 code | 2 blank | 0 comment | 8 complexity | f79dc6cdf22b1ba92a7b4c10ca1be4f4 MD5 | raw file
  1. <?php
  2. require_once('system.php');
  3. include_once('inc/pass.inc.php');
  4. function randString( $pass_len = 50 )
  5. {
  6. $allchars = "abcdefghijklmnopqrstuvwxyz0123456789";
  7. $string = "";
  8. mt_srand( (double) microtime() * 1000000 );
  9. for ( $i=0; $i<$pass_len; $i++ )
  10. $string .= $allchars{ mt_rand( 0, strlen( $allchars )-1 ) };
  11. return $string;
  12. }
  13. if (isset($_POST['login']) and empty($user)) {
  14. $name=mysql_real_escape_string($_POST['login']);
  15. $pass=mysql_real_escape_string($_POST['password']);
  16. $result = mysql_query("SELECT ".$db['users']['password']." FROM ".$db['tables']['users']." WHERE ".$db['users']['username']."='$name'");
  17. $line = mysql_fetch_array( $result );
  18. if ($line == NULL or !checkPass($line[$db['users']['password']],$pass)) {
  19. mysql_close( $link );
  20. header("Location: ".mgetOpt('url-base'));
  21. exit;
  22. }
  23. $user = new User($name,$db['users']['username']);
  24. if ($user->lvl() <= 0) {
  25. unset($user);
  26. mysql_close( $link );
  27. header("Location: ".mgetOpt('url-base')."?e=1");
  28. exit;
  29. }
  30. if (!isset($_SESSION))
  31. session_start();
  32. $tmpID = randString( 15 );
  33. if (isset($_POST['ipcheck']))
  34. $tmpID = 'ipcheck_'.$tmpID;
  35. setcookie( "PRTCookie1", "$tmpID",time() + 60 * 60 * 24 * 30 * 12, '/');
  36. $user->login($tmpID,GetRealIp());
  37. $_SESSION['user_id'] = $user->id();
  38. $_SESSION['user_name'] = $user->name();
  39. $_SESSION['ip'] = $user->ip();
  40. header("Location: ".mgetOpt('url-base'));
  41. }
  42. if (isset($_GET['out']) and $user) {
  43. $user->logout();
  44. header("Location: ".mgetOpt('url-base'));
  45. exit;
  46. }
  47. ?>