Commit 61ff58c3da7c35ec4b485252d248120c028da243
1 parent
4b1860b0
Exists in
master
Substituição da função md5 por função específica do php para tratamento de senhas
Showing
2 changed files
with
28 additions
and
4 deletions
Show diff stats
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; |