Advertisement
Guest User

Untitled

a guest
Oct 13th, 2017
107
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.06 KB | None | 0 0
  1. <?php
  2. /*
  3. Levels:
  4.  
  5. 0 - Admin
  6. 1 - Reviewer
  7. 2 - Regular User
  8. 3 - Banned
  9. */
  10.  
  11. session_start();
  12. include("database.php");
  13.  
  14. function IsLoggedIn($con) {
  15. global $con;
  16. if(isset($_SESSION["id"])) {
  17. $id = mysql_escape_string($_SESSION["id"]); // Added protection.
  18. $result = mysql_query("SELECT * FROM Sessions WHERE id=$id", $con);
  19. if ($result && ($_SERVER["REMOTE_ADDR"] === $result["IP"])) {
  20. return $result;
  21. }
  22. return false;
  23. }
  24. return false;
  25. }
  26.  
  27. function Login($username, $password, $con) {
  28. global $con;
  29. $username = mysql_escape_string($username);
  30. $result = mysql_query("SELECT Salt, Password FROM Users WHERE Username='$username'", $con);
  31. if ($result) {
  32. if ($result["Password"] === (hash("sha512", $password + $result["Salt"]))) {
  33. return true;
  34. }
  35. }
  36. return false;
  37. }
  38.  
  39. function GenerateSalt() {
  40. $salt = "";
  41. $points = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUV0123456789.,%^&*()!~";
  42. $i = 0;
  43. for($i; $i <= 32; $i++) {
  44. $salt .= $points{mt_rand(0, 68)};
  45. }
  46. return $salt;
  47. }
  48.  
  49. function Register($username, $password, $email, $con) {
  50. $ip = $_SERVER["REMOTE_ADDR"];
  51. $user_salt = GenerateSalt();
  52. $password = hash("sha512", $password + $user_salt);
  53. mysql_query("INSERT INTO Users(Username, Password, Level, Email, Salt, LastKnownIp) VALUES('$username', '$password', 2, '$email', '$user_salt', '$ip')", $con);
  54. }
  55.  
  56. function RegisterSession($username, $con) {
  57. $id = microtime() + rand(0, 1000);
  58. $ip = $_SERVER["REMOTE_ADDR"];
  59. mysql_query("INSERT INTO Sessions(ID, IP, Username) VALUES('$id', '$ip', '$username')", $con);
  60. $_SESSION["id"] = $id;
  61. }
  62.  
  63. function RegisterFailedLogin($con) {
  64. if (isset($_SESSION["id"])) {
  65. $id = microtime() + rand(0, 1000);
  66. $_SESSION["FID"] = $id;
  67. }
  68. $ip = $_SERVER["REMOTE_ADDR"];
  69. $ts = time();
  70. $result = mysql_query("SELECT * FROM FailedLogins WHERE IP='$ip'", $con);
  71. if ($result) {
  72. mysql_query("UPDATE FailedLogins SET AttemptNo=AttemptNo+1", $con);
  73. } else {
  74. mysql_query("INSERT INTO FailedLogins(ID, IP, TimeStamp, AttemptNo) VALUES('$id', '$ip', $ts, 1)", $con);
  75. }
  76. }
  77.  
  78. ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement