Commit 9c232e1288b9d84af75e1d20cf7add7a9b5bb9bd
1 parent
0fa6e86d
Exists in
master
and in
7 other branches
Substituição da função md5 por função específica do php para tratamento de senhas
Showing
7 changed files
with
66 additions
and
28 deletions
Show diff stats
admin/admin.db
No preview for this file type
admin/php/login.php
@@ -289,6 +289,7 @@ function validaSessao(){ | @@ -289,6 +289,7 @@ function validaSessao(){ | ||
289 | function autenticaUsuario($usuario,$senha){ | 289 | function autenticaUsuario($usuario,$senha){ |
290 | include(dirname(__FILE__)."/conexao.php"); | 290 | include(dirname(__FILE__)."/conexao.php"); |
291 | $senhamd5 = md5($senha); | 291 | $senhamd5 = md5($senha); |
292 | + $senhaHash = password_hash($senha, PASSWORD_DEFAULT); | ||
292 | //verifica se o usuario esta cadastrado no ms_configura.php em $i3geomaster | 293 | //verifica se o usuario esta cadastrado no ms_configura.php em $i3geomaster |
293 | //echo "select * from ".$esquemaadmin."i3geousr_usuarios where login = '$usuario' and (senha = '$senhamd5' or senha = '$senha') and ativo = 1";exit; | 294 | //echo "select * from ".$esquemaadmin."i3geousr_usuarios where login = '$usuario' and (senha = '$senhamd5' or senha = '$senha') and ativo = 1";exit; |
294 | //exit; | 295 | //exit; |
@@ -320,13 +321,29 @@ function autenticaUsuario($usuario,$senha){ | @@ -320,13 +321,29 @@ function autenticaUsuario($usuario,$senha){ | ||
320 | } | 321 | } |
321 | else{ | 322 | else{ |
322 | //verifica se a senha e uma string ou pode ser um md5 | 323 | //verifica se a senha e uma string ou pode ser um md5 |
324 | + $ok = false; | ||
325 | + $dados = array(); | ||
323 | if(strlen($senha) == 32){ | 326 | if(strlen($senha) == 32){ |
324 | - $dados = pegaDados("select * from ".$esquemaadmin."i3geousr_usuarios where login = '$usuario' and senha = '$senhamd5' and ativo = 1",$dbh,false); | 327 | + $dados = pegaDados("select id_usuario,nome_usuario from ".$esquemaadmin."i3geousr_usuarios where login = '$usuario' and senha = '$senhamd5' and ativo = 1",$dbh,false); |
325 | } | 328 | } |
326 | else{ | 329 | else{ |
327 | - $dados = pegaDados("select * from ".$esquemaadmin."i3geousr_usuarios where login = '$usuario' and (senha = '$senhamd5' or senha = '$senha') and ativo = 1",$dbh,false); | 330 | + $dados = pegaDados("select id_usuario,nome_usuario from ".$esquemaadmin."i3geousr_usuarios where login = '$usuario' and (senha = '$senhamd5' or senha = '$senha') and ativo = 1",$dbh,false); |
328 | } | 331 | } |
329 | if(count($dados) > 0){ | 332 | if(count($dados) > 0){ |
333 | + $ok = true; | ||
334 | + } | ||
335 | + //testa tambem com a nova forma de armazenamento de senha usando password_hash | ||
336 | + if($ok == false){ | ||
337 | + $usuarios = pegaDados("select senha,id_usuario,nome_usuario from ".$esquemaadmin."i3geousr_usuarios where login = '$usuario' and ativo = 1",$dbh,false); | ||
338 | + foreach($usuarios as $d){ | ||
339 | + if (password_verify($d["senha"], $senhaHash)){ | ||
340 | + $ok = true; | ||
341 | + $dados = array("id_usuario"=>$d["id_usuario"],"nome_usuario"=>$d["nome_usuario"]); | ||
342 | + } | ||
343 | + } | ||
344 | + $usuarios = null; | ||
345 | + } | ||
346 | + if($ok == true){ | ||
330 | $pa = pegaDados("select * from ".$esquemaadmin."i3geousr_papelusuario where id_usuario = ".$dados[0]["id_usuario"],$dbh,false); | 347 | $pa = pegaDados("select * from ".$esquemaadmin."i3geousr_papelusuario where id_usuario = ".$dados[0]["id_usuario"],$dbh,false); |
331 | $op = pegadados("SELECT O.codigo, PU.id_usuario FROM ".$esquemaadmin."i3geousr_operacoes AS O JOIN ".$esquemaadmin."i3geousr_operacoespapeis AS OP ON O.id_operacao = OP.id_operacao JOIN ".$esquemaadmin."i3geousr_papelusuario AS PU ON OP.id_papel = PU.id_papel WHERE id_usuario = ".$dados[0]["id_usuario"],$dbh,false); | 348 | $op = pegadados("SELECT O.codigo, PU.id_usuario FROM ".$esquemaadmin."i3geousr_operacoes AS O JOIN ".$esquemaadmin."i3geousr_operacoespapeis AS OP ON O.id_operacao = OP.id_operacao JOIN ".$esquemaadmin."i3geousr_papelusuario AS PU ON OP.id_papel = PU.id_papel WHERE id_usuario = ".$dados[0]["id_usuario"],$dbh,false); |
332 | $gr = pegadados("SELECT * from ".$esquemaadmin."i3geousr_grupousuario where id_usuario = ".$dados[0]["id_usuario"],$dbh,false); | 349 | $gr = pegadados("SELECT * from ".$esquemaadmin."i3geousr_grupousuario where id_usuario = ".$dados[0]["id_usuario"],$dbh,false); |
admin/php/usuarios.php
@@ -65,7 +65,13 @@ error_reporting(0); | @@ -65,7 +65,13 @@ error_reporting(0); | ||
65 | include_once(dirname(__FILE__)."/login.php"); | 65 | include_once(dirname(__FILE__)."/login.php"); |
66 | $funcoesEdicao = array( | 66 | $funcoesEdicao = array( |
67 | "ALTERARUSUARIOS", | 67 | "ALTERARUSUARIOS", |
68 | - "EXCLUIRUSUARIO" | 68 | + "EXCLUIRUSUARIO", |
69 | + "EXCLUIRPAPELUSUARIO", | ||
70 | + "PEGADADOSUSUARIO", | ||
71 | + "PEGAUSUARIOS", | ||
72 | + "PEGAPAPEISUSUARIO", | ||
73 | + "ENVIARSENHAEMAIL", | ||
74 | + "LISTAPAPEIS" | ||
69 | ); | 75 | ); |
70 | if(in_array(strtoupper($funcao),$funcoesEdicao)){ | 76 | if(in_array(strtoupper($funcao),$funcoesEdicao)){ |
71 | if(verificaOperacaoSessao("admin/html/usuarios") == false){ | 77 | if(verificaOperacaoSessao("admin/html/usuarios") == false){ |
@@ -180,7 +186,8 @@ function alterarUsuarios() | @@ -180,7 +186,8 @@ function alterarUsuarios() | ||
180 | ); | 186 | ); |
181 | //se a senha foi enviada, ela sera trocada | 187 | //se a senha foi enviada, ela sera trocada |
182 | if($_GET["senha"] != ""){ | 188 | if($_GET["senha"] != ""){ |
183 | - $dataCol["senha"] = md5($_GET["senha"]); | 189 | + //$dataCol["senha"] = md5($_GET["senha"]); |
190 | + $dataCol["senha"] = password_hash($_GET["senha"], PASSWORD_DEFAULT); | ||
184 | } | 191 | } |
185 | i3GeoAdminUpdate($dbhw,"i3geousr_usuarios",$dataCol,"WHERE id_usuario = $id_usuario"); | 192 | i3GeoAdminUpdate($dbhw,"i3geousr_usuarios",$dataCol,"WHERE id_usuario = $id_usuario"); |
186 | $retorna = $id_usuario; | 193 | $retorna = $id_usuario; |
admin1/usuarios/cadastro/exec.php
@@ -204,7 +204,8 @@ function alterar($id_usuario, $ativo, $data_cadastro, $email, $login, $nome_usua | @@ -204,7 +204,8 @@ function alterar($id_usuario, $ativo, $data_cadastro, $email, $login, $nome_usua | ||
204 | ); | 204 | ); |
205 | // se a senha foi enviada, ela sera trocada | 205 | // se a senha foi enviada, ela sera trocada |
206 | if ($senha != "") { | 206 | if ($senha != "") { |
207 | - $dataCol ["senha"] = md5 ( $senha ); | 207 | + //$dataCol ["senha"] = md5 ( $senha ); |
208 | + $dataCol["senha"] = password_hash($_GET["senha"], PASSWORD_DEFAULT); | ||
208 | } | 209 | } |
209 | $resultado = i3GeoAdminUpdate ( $dbhw, "i3geousr_usuarios", $dataCol, "WHERE id_usuario = $id_usuario" ); | 210 | $resultado = i3GeoAdminUpdate ( $dbhw, "i3geousr_usuarios", $dataCol, "WHERE id_usuario = $id_usuario" ); |
210 | if ($resultado === false) { | 211 | if ($resultado === false) { |
admin1/usuarios/operacoes/exec.php
@@ -105,7 +105,13 @@ switch ($funcao) | @@ -105,7 +105,13 @@ switch ($funcao) | ||
105 | exit; | 105 | exit; |
106 | } | 106 | } |
107 | $operacao = $operacoes[0]; | 107 | $operacao = $operacoes[0]; |
108 | - $operacao["papeis"] = $papeisoperacao[0]; | 108 | + |
109 | + //cria o indice do array conforme o id da operacao | ||
110 | + $o = array(); | ||
111 | + foreach($papeisoperacao as $op){ | ||
112 | + $o[$op["id_papel"]] = $op; | ||
113 | + } | ||
114 | + $operacao["papeis"] = $o; | ||
109 | //todos os papeis | 115 | //todos os papeis |
110 | $papeis = pegaDados("SELECT * from ".$esquemaadmin."i3geousr_papeis order by nome",$dbh); | 116 | $papeis = pegaDados("SELECT * from ".$esquemaadmin."i3geousr_papeis order by nome",$dbh); |
111 | $dbhw = null; | 117 | $dbhw = null; |
admin1/usuarios/operacoes/index.js
@@ -28,6 +28,8 @@ i3GEOadmin.operacoes = { | @@ -28,6 +28,8 @@ i3GEOadmin.operacoes = { | ||
28 | ondeLista: "", | 28 | ondeLista: "", |
29 | //conteudo html do formulario de adicao de operacao | 29 | //conteudo html do formulario de adicao de operacao |
30 | formAdiciona: "", | 30 | formAdiciona: "", |
31 | + //parametros obtidos do formulario de edicao antes de abrir o modal de confirmacao | ||
32 | + parametrosSalvar: "", | ||
31 | /* | 33 | /* |
32 | Function: initMenu | 34 | Function: initMenu |
33 | 35 | ||
@@ -147,7 +149,7 @@ Obtém a lista de operacoes | @@ -147,7 +149,7 @@ Obtém a lista de operacoes | ||
147 | "onSalvar": "i3GEOadmin.operacoes.salvarDialogo",//funcao | 149 | "onSalvar": "i3GEOadmin.operacoes.salvarDialogo",//funcao |
148 | "inputPapeis": function(){ | 150 | "inputPapeis": function(){ |
149 | //marca os checkbox | 151 | //marca os checkbox |
150 | - var p = this.papeis; | 152 | + var p = json["operacao"]["papeis"]; |
151 | $(json["papeis"]).each( | 153 | $(json["papeis"]).each( |
152 | function(i,el){ | 154 | function(i,el){ |
153 | if(p && el.id_papel && (p[el.id_papel] || el.id_papel == 1)){ | 155 | if(p && el.id_papel && (p[el.id_papel] || el.id_papel == 1)){ |
@@ -236,35 +238,40 @@ Obtém a lista de operacoes | @@ -236,35 +238,40 @@ Obtém a lista de operacoes | ||
236 | ); | 238 | ); |
237 | }, | 239 | }, |
238 | salvarDialogo: function(id){ | 240 | salvarDialogo: function(id){ |
241 | + //os dados do formulario sao obtidos antes de abrir o modal | ||
242 | + i3GEOadmin.operacoes.parametrosSalvar = $("#form-edicao-" + id).serialize(); | ||
239 | var hash = { | 243 | var hash = { |
240 | "mensagem": i3GEOadmin.operacoes.dicionario.confirma, | 244 | "mensagem": i3GEOadmin.operacoes.dicionario.confirma, |
241 | "onBotao1": "i3GEOadmin.operacoes.salvar('"+id+"')", | 245 | "onBotao1": "i3GEOadmin.operacoes.salvar('"+id+"')", |
242 | "botao1": i3GEOadmin.operacoes.dicionario.sim, | 246 | "botao1": i3GEOadmin.operacoes.dicionario.sim, |
243 | - "onBotao2": "i3GEOadmin.core.fechaModalConfirma();", | 247 | + "onBotao2": "i3GEOadmin.operacoes.parametrosSalvar = '';i3GEOadmin.core.fechaModalConfirma();", |
244 | "botao2": i3GEOadmin.operacoes.dicionario.nao | 248 | "botao2": i3GEOadmin.operacoes.dicionario.nao |
245 | }; | 249 | }; |
246 | i3GEOadmin.core.abreModalConfirma(hash); | 250 | i3GEOadmin.core.abreModalConfirma(hash); |
247 | }, | 251 | }, |
248 | salvar: function(id){ | 252 | salvar: function(id){ |
249 | - var parametros = $("#form-" + id + " form").serialize(); | 253 | + var parametros = i3GEOadmin.operacoes.parametrosSalvar; |
254 | + i3GEOadmin.operacoes.parametrosSalvar = ""; | ||
250 | i3GEOadmin.core.fechaModalGeral(); | 255 | i3GEOadmin.core.fechaModalGeral(); |
251 | - i3GEOadmin.core.modalAguarde(true); | ||
252 | - $.post( | ||
253 | - "exec.php?funcao=alterar", | ||
254 | - "id_operacao="+ id +"&"+parametros | ||
255 | - ) | ||
256 | - .done( | ||
257 | - function(data, status){ | ||
258 | - i3GEOadmin.core.modalAguarde(false); | ||
259 | - i3GEOadmin.core.iconeAguarde(i3GEOadmin.operacoes.ondeLista); | ||
260 | - i3GEOadmin.operacoes.lista(); | ||
261 | - } | ||
262 | - ) | ||
263 | - .fail( | ||
264 | - function(data){ | ||
265 | - i3GEOadmin.core.modalAguarde(false); | ||
266 | - i3GEOadmin.core.mostraErro(data.status + " " +data.statusText); | ||
267 | - } | ||
268 | - ); | 256 | + if(parametros != ""){ |
257 | + i3GEOadmin.core.modalAguarde(true); | ||
258 | + $.post( | ||
259 | + "exec.php?funcao=alterar", | ||
260 | + "id_operacao="+ id +"&"+parametros | ||
261 | + ) | ||
262 | + .done( | ||
263 | + function(data, status){ | ||
264 | + i3GEOadmin.core.modalAguarde(false); | ||
265 | + i3GEOadmin.core.iconeAguarde(i3GEOadmin.operacoes.ondeLista); | ||
266 | + i3GEOadmin.operacoes.lista(); | ||
267 | + } | ||
268 | + ) | ||
269 | + .fail( | ||
270 | + function(data){ | ||
271 | + i3GEOadmin.core.modalAguarde(false); | ||
272 | + i3GEOadmin.core.mostraErro(data.status + " " +data.statusText); | ||
273 | + } | ||
274 | + ); | ||
275 | + } | ||
269 | } | 276 | } |
270 | }; | 277 | }; |
admin1/usuarios/operacoes/index.php
@@ -57,7 +57,7 @@ include "../../head.php"; | @@ -57,7 +57,7 @@ include "../../head.php"; | ||
57 | <option value="form-{{id_operacao}}">{{{codigo}}}</option> | 57 | <option value="form-{{id_operacao}}">{{{codigo}}}</option> |
58 | </script> | 58 | </script> |
59 | <script id="templateFormLista" type="x-tmpl-mustache"> | 59 | <script id="templateFormLista" type="x-tmpl-mustache"> |
60 | -<form style="" action="#" onsubmit="{{onSalvar}}('{{id_operacao}}');return false;" onchange="this.style.boxShadow='2px 2px 5px 0 #009688';" class="form-horizontal" role="form" method="post" > | 60 | +<form id="form-edicao-{{id_operacao}}" style="" action="#" onsubmit="{{onSalvar}}('{{id_operacao}}');return false;" onchange="this.style.boxShadow='2px 2px 5px 0 #009688';" class="form-horizontal" role="form" method="post" > |
61 | <div class="row"> | 61 | <div class="row"> |
62 | <div class="col-md-4" > | 62 | <div class="col-md-4" > |
63 | <h4> {{{papeisv}}}</h4> | 63 | <h4> {{{papeisv}}}</h4> |