Advertisement
Guest User

IPB VERY POOR SIMPLE API IN PHP

a guest
Nov 18th, 2018
118
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 1.93 KB | None | 0 0
  1.  
  2. <?php
  3.  
  4. $user = $_GET['user'];
  5. $pass = $_GET[' pass'];
  6.  
  7.  
  8. $db['host']         = 'localhost'; #URL DO SERVIDOR MYSQL
  9. $db['db']           = 'ipb_forum'; #NOME DA DB DO FORUM
  10. $db['username']     = 'root';      #USUARIO DO MYSQL
  11. $db['password']     = '';          #SENHA DO MYSQL
  12.  
  13.  
  14.  
  15. $ipb['auth']['table_name']      = 'members';            #NOME TABELA DE MEMBROS DO IPB
  16. $ipb['auth']['username_column'] = 'name';               #NOME DA COLUNA DENTRO DA TABELA DE MEMBROS REFERENTE AO NOME DE USUARIO
  17. $ipb['auth']['password_column'] = 'members_pass_hash';  #NOME DA COLUNA DENTRO DA TABELA DE MEMBROS REFERENTE A HASH DA SENHA
  18. $ipb['auth']['salt_column']     = 'members_pass_salt';  #NOME DA COLUNA DENTRO DA TABELA DE MEMBROS REFERENTE AO SALT DA HASH DA SENHA
  19.  
  20.  
  21. try{
  22.     $pdo = new PDO("mysql:host={$db['host']};dbname={$db['db']}", $db['username'], $db['password']);
  23. }catch(Exception $e) {
  24.     die($e->getMessage());
  25. }
  26.  
  27.  
  28. $statment = 'SELECT * FROM ' . $ipb['auth']['table_name'] . ' WHERE ' . $ipb['auth']['username_column'] '=? LIMIT 1;';
  29.  
  30. $query = $pdo->prepare($statment);
  31. $query->execute([
  32.     $user
  33. ]);
  34.  
  35. $resp = [];
  36.  
  37. if($query->rowCount()) {
  38.     $row = $query->fetch(PDO::FETCH_ASSOC);
  39.     $storedHash = $row[$ipb['auth']['password_column']];
  40.     $storedSalt = $row[$ipb['auth']['salt_column']];
  41.     $hash = ipbHash($pass, $storedSalt);
  42.  
  43.     if($hash === $storedHash) {
  44.         $resp = [
  45.             'status' => 'authorized',
  46.             'message' => 'user logged with success'
  47.         ];
  48.     }
  49.     else {
  50.         $resp = [
  51.             'status' => 'unauthorized',
  52.             'message' => 'invalid password'
  53.         ];
  54.     }
  55. }
  56. else {
  57.     $resp = [
  58.         'status' => 'denied',
  59.         'message' => 'user not found in database'
  60.     ];
  61. }
  62.  
  63. echo json_encode($resp);
  64. die();
  65.  
  66.  
  67.  
  68.  
  69. function ipbHash($password, $salt) {
  70.     if($password == null || $salt == null) return '';
  71.     return md5(md5(salt) + md5(password));
  72. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement