Guest User

Untitled

a guest
Jun 3rd, 2018
144
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.85 KB | None | 0 0
  1. <?php # User Authentication Library : Initilization
  2.  
  3. # Environment Setup
  4. $auth = array();
  5. $auth['session_limit'] = day * 2; # Default expire time (move to mysql)
  6. $UADecryptionKey = 'key'; # Move to sql, have change every week
  7. setcookie('sess_id', 'to', day);
  8. setcookie('sess_user', md5('testcatfacts'), day);
  9. if(!is_null($_COOKIE['sess_id'])) { # Awake from valid session
  10. $sess_id = EXMySQLSafe($_COOKIE['sess_id']);
  11. $session = mysql_fetch_assoc(EXMySQLQuery("SELECT * FROM `[prefix]sessions` WHERE `id` = CONVERT(_utf8 '{$sess_id}' USING latin1) COLLATE latin1_swedish_ci"));
  12. $user_result = EXMySQLQuery("SELECT * FROM `[prefix]users` WHERE `username` = CONVERT(_utf8 '{$session['user']}' USING latin1) COLLATE latin1_swedish_ci");
  13. $user_check = mysql_num_rows($user_result);
  14. $user = mysql_fetch_assoc($user_result);
  15. $username_md5 = md5($UAKey.$session['key'].$user['username']);
  16. # Validate the data
  17. if($_COOKIE['sess_user'] == $username_md5) { # Reload current session
  18. $t1 = explode(MLDF1, $session['conf']); # Session Configuration [transient]
  19. $auth['conf'] = explode(MLDF2, $t1);
  20. $t2 = explode(MLDF1, $user['conf']); # User Configuration [persistant]
  21. $auth['uconf'] = explode(MLDF2, $t2);
  22. $auth['user'] = array( # Common Info
  23. 'id' => $user['id'], 'name' => $user['username'], 'display-name' => $user['dname'], 'first-name' => $user['fname'],
  24. 'middle-name' => $user['mname'], 'last-name' => $user['lname'], 'email' => $user['email'] );
  25. $auth['role'] = $user['role'];
  26. $auth['type'] = $user['type'];
  27. $auth['permissions'] = str_split($user['permissions']);
  28. $auth['guest'] = false; # Don't touch the cookies
  29. } else { # Destroy current session and make new
  30. EXMySQLQuery("DELETE FROM `[prefix]sessions` WHERE CONVERT(`[prefix]sessions`.`id` USING utf8) = '{$sess_id}' LIMIT 1");
  31. setcookie('sess_id', null, destroy);
  32. setcookie('sess_user', null, destroy);
  33. $gsession = true;
  34. } # From here we play god
  35. } if(isset($_POST['UAU']) and isset($_POST['UAP'])) { # Render from form input
  36. $username = EXMySQLSafe($_POST['UAU']); $password = md5($_POST['UAP']);
  37. $user = mysql_fetch_assoc(EXMySQLQuery("SELECT * FROM `[prefix]users` WHERE `username` = CONVERT(_utf8 '{$username}' USING latin1) COLLATE latin1_swedish_ci"));
  38. if($password == $user['password']) { # Verified
  39. $auth['conf'] = array(); # Session Configuration [transient]
  40. $t = explode(MLDF1, $user['conf']); # User Configuration [persistant]
  41. $auth['uconf'] = explode(MLDF2, $t2);
  42. $auth['user'] = array( # Common Info
  43. 'id' => $user['id'], 'name' => $user['username'], 'display-name' => $user['dname'], 'first-name' => $user['fname'],
  44. 'middle-name' => $user['mname'], 'last-name' => $user['lname'], 'email' => $user['email'] );
  45. $auth['role'] = $user['role']; $auth['type'] = $user['type'];
  46. $auth['permissions'] = str_split($user['permissions']);
  47. $auth['guest'] = false;
  48. $sess = md5(date(EXDateSDF_YMDHMSM));
  49. $sess_user = md5($UAKey.$sess.$username);
  50. setcookie('sess_id', $sess, day);
  51. setcookie('sess_user', $sess_user, day);
  52. EXMySQLQuery();
  53. } else $gsession = true;
  54. } if($gsession) { # Render from guest template
  55. # Um... is there any point to loading any user config at all? or is this a good solution?
  56. $auth['conf'] = $auth['uconf'] = EXConfRead('guest-config');
  57. $auth['user'] = array( # Common Info
  58. 'id' => 0, 'name' => 'guest', 'display-name' => 'Guest', 'first-name' => 'Johnny',
  59. 'middle-name' => 'T', 'last-name' => 'Guest', 'email' => null );
  60. $username = 'guest';
  61. $role = 'UAGuestAccount';
  62. $type = UAGuest;
  63. $auth['guest'] = true;
  64. $sess = md5(date(EXDateSDF_YMDHMSM));
  65. $sess_user = md5($UAKey.$sess.$username);
  66. setcookie('sess_id', $sess, day);
  67. setcookie('sess_user', $sess_user, day);
  68. EXMySQLQuery();
  69. }
  70.  
  71. /* things to set up
  72. user conf
  73. sess conf
  74. username
  75. display name
  76. fname, mname, lname
  77. role
  78. type
  79. permissions?
  80. is guest */
Add Comment
Please, Sign In to add comment