Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> jak usunąć salt + sh1, Chciał bym stworzyć proste logowanie
lipek80
post
Post #1





Grupa: Zarejestrowani
Postów: 26
Pomógł: 0
Dołączył: 26.03.2014

Ostrzeżenie: (0%)
-----


Witam

Chciał bym się pozbyć zabezpieczenia salt z poniższego kodu. Chciał bym, aby można było się zalogować na stronie za pośrednictwem hasła które jest zapisane w bazie danych. Nie musi być zakodowane.


  1. <?php
  2.  
  3. define('AL_ADMIN', 256);
  4.  
  5. $AL_NAME = array(
  6. AL_ADMIN => 'Administrator'
  7. );
  8.  
  9. $REGISTER_DENY = array();
  10. $REGISTER_DENY[] = "root";
  11. $REGISTER_DENY[] = "admin";
  12. $REGISTER_DENY[] = "administrator";
  13. $REGISTER_DENY[] = "moderator";
  14. $REGISTER_DENY[] = "system";
  15. $REGISTER_DENY[] = "serwis";
  16.  
  17.  
  18. include(dirname(__FILE__) . '/../salt/salt.php');
  19.  
  20. function user_login($login = null, $password = null, $encrypted = false) {
  21.  
  22. global $db;
  23.  
  24. if (func_num_args() == 0) {
  25.  
  26. if (!my_login() || !my_password())
  27. return 'Nie odnaleziono informacji o koncie w bieżącej sesji';
  28.  
  29. $login = my_login();
  30. $password = my_password();
  31. } else
  32. $password = $encrypted ? $password : salt($password);
  33.  
  34. $user = $db->query("SELECT * FROM `users` WHERE LOWER(`login`) = LOWER('" . $db->escape_string($login) . "') AND `haslo` = '" . $db->escape_string($password) . "'")->fetch_assoc();
  35.  
  36. if (!empty($user)) {
  37. if (!empty($user['zablokowany']))
  38. return 'Konto zablokowane';
  39. else if (!empty($user['usuniety']))
  40. return 'Konto usunięte';
  41. } else
  42. return 'Niepoprawny login / hasło';
  43.  
  44. if (!my_id()) {
  45.  
  46. my_logintime(time());
  47. my_lastactivity(time());
  48.  
  49.  
  50. $set = array();
  51. $set[] = "`ostatnia_aktywnosc` = '" . datetimeS(my_lastactivity()) . "'";
  52.  
  53. $db->query("UPDATE `users` SET " . implode(',', $set) . " WHERE `id` = {$user['id']}");
  54. }
  55.  
  56. my_id($user['id']);
  57. my_login($user['login']);
  58. my_password($user['haslo']);
  59.  
  60. return true;
  61. }
  62.  
  63. function loggedin() {
  64.  
  65. if (user_login() === true)
  66. return true;
  67.  
  68. return false;
  69. }
  70.  
  71. function user_logout() {
  72.  
  73. if (loggedin()) {
  74. my_id(null);
  75. my_login(null);
  76. my_password(null);
  77. my_logintime(null);
  78. my_lastactivity(null);
  79. }
  80. }
  81.  
  82. function my_id($value = false) {
  83. /*
  84. * @params: (none/false): return value
  85. * @params: (null): unset value
  86. * @params: (mixed) value: set (int) value
  87. */
  88.  
  89. if ($value === null)
  90. unset($_SESSION['my_id']);
  91. else if ($value !== false)
  92. $_SESSION['my_id'] = (int) $value;
  93.  
  94. return isset($_SESSION['my_id']) ? $_SESSION['my_id'] : false;
  95. }
  96.  
  97. function my_login($value = false) {
  98. /*
  99. * @params: (none/false): return value
  100. * @params: (null): unset value
  101. * @params: (mixed) value: set value
  102. */
  103.  
  104. if ($value === null)
  105. unset($_SESSION['my_login']);
  106. else if ($value !== false)
  107. $_SESSION['my_login'] = $value;
  108.  
  109. return isset($_SESSION['my_login']) ? $_SESSION['my_login'] : false;
  110. }
  111.  
  112. function my_password($value = false) {
  113. /*
  114. * @params: (none/false): return value
  115. * @params: (null): unset value
  116. * @params: (mixed) value: set value
  117. */
  118.  
  119. if ($value === null)
  120. unset($_SESSION['my_password']);
  121. else if ($value !== false)
  122. $_SESSION['my_password'] = $value;
  123.  
  124. return isset($_SESSION['my_password']) ? $_SESSION['my_password'] : false;
  125. }
  126.  
  127. function my_logintime($value = false) {
  128. /*
  129. * @params: (none/false): return value
  130. * @params: (null): unset value
  131. * @params: (mixed) value: set value
  132. */
  133.  
  134. if ($value === null)
  135. unset($_SESSION['my_logintime']);
  136. else if ($value !== false)
  137. $_SESSION['my_logintime'] = $value;
  138.  
  139. return isset($_SESSION['my_logintime']) ? $_SESSION['my_logintime'] : false;
  140. }
  141.  
  142. function my_lastactivity($value = false) {
  143. /*
  144. * @params: (none/false): return value
  145. * @params: (null): unset value
  146. * @params: (mixed) value: set value
  147. */
  148.  
  149. if ($value === null)
  150. unset($_SESSION['my_lastactivity']);
  151. else if ($value !== false)
  152. $_SESSION['my_lastactivity'] = $value;
  153.  
  154. return isset($_SESSION['my_lastactivity']) ? $_SESSION['my_lastactivity'] : false;
  155. }
  156.  
  157. function my_level() {
  158.  
  159. if (!loggedin())
  160. return false;
  161.  
  162. global $db;
  163.  
  164. $r = $db->query("SELECT `level` FROM `users` WHERE `id` = " . my_id())->fetch_assoc();
  165.  
  166. return $r ? $r['level'] : false;
  167. }
  168.  
  169. function user_session() {
  170.  
  171. global $db;
  172.  
  173. if (!my_logintime() || !my_lastactivity())
  174. return false;
  175.  
  176. if (my_id()) {
  177. my_lastactivity(time());
  178. $db->query("UPDATE `users` SET `ostatnia_aktywnosc` = '" . datetimeS(my_lastactivity()) . "' WHERE `id` = " . my_id());
  179. } else
  180. return false;
  181.  
  182. return true;
  183. }
  184.  
  185. function get_user($id, $opts = null) {
  186.  
  187. $opts['where'][] = "`id` = '" . (int) $id . "'";
  188.  
  189. $r = get_user_list($opts);
  190.  
  191. return isset($r[0]) ? $r[0] : $r;
  192. }
  193.  
  194. function get_user_list($opts = null) {
  195.  
  196. $opts['select'][] = "*";
  197. $opts['from'][] = "`users`";
  198. if (empty($opts['order']))
  199. $opts['order'][] = "`id` DESC";
  200.  
  201. return get_db_data($opts);
  202. }
  203.  
  204. user_session();
  205. ?>
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 20.12.2025 - 20:11