Advertisement
Guest User

Untitled

a guest
Dec 1st, 2017
85
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.39 KB | None | 0 0
  1. <? php
  2. include_once 'functions.php';
  3.  
  4. sec_session_start ();
  5.  
  6. $ error_msg = "";
  7. $ page = "postar.php";
  8.  
  9. if (isset ($ _ POST [post]) && $ _POST [post] == ​​"Upload") {
  10. $ Image = "";
  11.  
  12. if (isset ($ _ FILES [btcapa]) &&! empty ($ _ FILES [btcapa] [name])) {
  13. $ btimage = $ _FILES [btcapa];
  14. switch ($ _ POST [sacervo]) {
  15. case '1':
  16. $ update = "img / comic";
  17. break;
  18. case '2':
  19. $ update = "img / books";
  20. break;
  21. case '3':
  22. $ updir = "img / files";
  23. break;
  24. }
  25. $ Image = valida_upload ($ btimage, $ update);
  26. if ($ Image [0] == '<') {
  27. $ error_msg. = "<li> Document: not loaded." $ btimage [name]. "</ li>";
  28. $ error_msg. = $ Image;
  29. $ Image = '';
  30. }
  31. }
  32.  
  33. if (login_check ($ mysqli) == true) {
  34. switch ($ _ POST [sacervo]) {
  35. case '1':
  36. $ error_msg. = valida_gibis ($ mysqli, $ Image);
  37. break;
  38. case '2':
  39. $ error_msg. = validate_book ($ mysqli, $ Image);
  40. break;
  41. case '3':
  42. $ error_msg. = validate_files ($ mysqli, $ Image);
  43. break;
  44. }
  45. if ($ error_msg == '') {
  46. if (! empty ($ Image)) {$ upload = move_uploaded_file ($ _ FILES [btcapa] [tmp_name], $ Image); }
  47.  
  48. $ msg_sucesso = "<li> Successfully inserted. </ li>";
  49. header ('Location: ../'.$page.'?retorno='.$msg_sucesso);
  50. } else {
  51. header ('Location: ../'.$page.'?retorno='.$error_msg);
  52. }
  53. } else {
  54.     $ error_msg. = "<li> Could not insert, please log back in. </ li>";
  55. header ('Location: ../postar.php?retorno='.$error_msg);
  56. }
  57. }
  58. ?>
  59.  
  60. function sec_session_start() {
  61. $session_name = 'SESSION'; // Estabeleça um nome personalizado para a sessão
  62. $secure = SECURE;
  63. // Isso impede que o JavaScript possa acessar a identificação da sessão.
  64. $httponly = true;
  65. // Assim você força a sessão a usar apenas cookies.
  66. if (ini_set('session.use_only_cookies', 1) == FALSE) {
  67. header("Location: ../error.php?err=Could not initiate a safe session (ini_set)");
  68. exit();
  69. }
  70. // Obtém params de cookies atualizados.
  71. $cookieParams = session_get_cookie_params();
  72. session_set_cookie_params(time()+3600,
  73. $cookieParams[path],
  74. $cookieParams[domain],
  75. $secure,
  76. $httponly);
  77. // Estabelece o nome fornecido acima como o nome da sessão.
  78. session_name($session_name);
  79. ob_start();
  80. session_start(); // Inicia a sessão PHP
  81. session_regenerate_id(); // Recupera a sessão e deleta a anterior.
  82.  
  83. setcookie(session_name(), '', time() + 3600, $params[path], $params[domain], $secure, $httponly);
  84. }
  85.  
  86. function login_check($mysqli) {
  87. // Verifica se todas as variáveis das sessões foram definidas
  88. if (isset($_SESSION[user_id], $_SESSION[username], $_SESSION[login_string])) {
  89.  
  90. $user_id = $_SESSION[user_id];
  91. $login_string = $_SESSION[login_string];
  92. $username = $_SESSION[username];
  93.  
  94. // Pega a string do usuário.
  95. //$user_browser = $_SERVER[HTTP_USER_AGENT];
  96.  
  97. if ($stmt = $mysqli->prepare("SELECT usuarioSenha FROM usuario WHERE usuarioCod = ? LIMIT 1")) {
  98. // Atribui "$user_id" ao parâmetro.
  99. $stmt->bind_param('i', $user_id);
  100. $stmt->execute(); // Execute the prepared query.
  101. $stmt->store_result();
  102.  
  103. if ($stmt->num_rows == 1) {
  104. // Caso o usuário exista, pega variáveis a partir do resultado.
  105. $stmt->bind_result($password);
  106. $stmt->fetch();
  107. $login_check = $password;//hash('sha512', $password.$user_browser);
  108.  
  109. if ($login_check == $login_string) {
  110. return true;
  111. } else {
  112. return false;
  113. }
  114. } else {
  115. return false;
  116. }
  117. } else {
  118. return false;
  119. }
  120. } else {
  121. return false;
  122. }
  123. }
  124.  
  125. function login($email, $password, $mysqli) {
  126. // Usando definições pré-estabelecidas significa que a injeção de SQL (um tipo de ataque) não é possível.
  127. if ($stmt = $mysqli->prepare("SELECT usuarioCod, usuarioNome, usuarioSenha
  128. FROM usuario
  129. WHERE usuarioEmail = ?
  130. LIMIT 1")) {
  131. $stmt->bind_param('s', $email); // Relaciona "$nusp" ao parâmetro.
  132. $stmt->execute(); // Executa a tarefa estabelecida.
  133. $stmt->store_result();
  134.  
  135. // obtém variáveis a partir dos resultados.
  136. $stmt->bind_result($user_id, $user_name, $user_senha);
  137. $stmt->fetch();
  138.  
  139. // faz o hash da senha com um salt excusivo.
  140. //$password = hash('sha512', $password);
  141. if ($stmt->num_rows == 1) {
  142.  
  143. if ($user_senha == $password) {
  144. $_SESSION[user_id] = $user_id;
  145. $_SESSION[username] = $user_name;
  146. $_SESSION[login_string] = $user_senha;//hash('sha512', $password.$user_browser);
  147.  
  148. return '';
  149. }
  150. } else {
  151. // Tal usuário não existe.
  152. return '<p class="error"> Não existe esse usuario </p>';
  153. }
  154. }else {
  155. return '<p class="error"> contate o adiministrador </p>';
  156. }
  157. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement