Commit 5d0bfd86e8283d9069b9aef732e6c080ce4eaaa8
1 parent
9d8ec701
Exists in
master
and in
7 other branches
Remoção do programa admin/php/login.php em favor de admin1/php/login.php
Showing
74 changed files
with
798 additions
and
454 deletions
Show diff stats
admin/admin.db
No preview for this file type
admin/php/admin.php
| ... | ... | @@ -194,7 +194,7 @@ function pegaDados($sql,$dbh="",$close=true) |
| 194 | 194 | $resultado = array(); |
| 195 | 195 | //is_string para efeitos de compatibilidade |
| 196 | 196 | if($dbh == "" || is_string($dbh)){ |
| 197 | - include(dirname(__FILE__)."/../adin1/php/conexao.php"); | |
| 197 | + include(dirname(__FILE__)."/../../admin1/php/conexao.php"); | |
| 198 | 198 | } |
| 199 | 199 | error_reporting(0); |
| 200 | 200 | //$dbh deve ser definido com somente leitura, mas por prevencao: | ... | ... |
admin/php/login.php
| ... | ... | @@ -1,405 +0,0 @@ |
| 1 | -<?php | |
| 2 | -/* | |
| 3 | -Title: funcoes_login.php | |
| 4 | - | |
| 5 | -Controle das requisições em Ajax utilizadas para gerenciar login de usuário e controle de acesso | |
| 6 | - | |
| 7 | -Recebe as requisições feitas em JavaScript (AJAX) e retorna o resultado para a interface. | |
| 8 | - | |
| 9 | -O parâmetro "funcao" define qual a operação que será executada. Esse parâmetro é verificado em um bloco "switch ($funcao)". | |
| 10 | - | |
| 11 | -Licenca: | |
| 12 | - | |
| 13 | -GPL2 | |
| 14 | - | |
| 15 | -i3Geo Interface Integrada de Ferramentas de Geoprocessamento para Internet | |
| 16 | - | |
| 17 | -Direitos Autorais Reservados (c) 2006 Edmar Moretti | |
| 18 | -Desenvolvedor: Edmar Moretti edmar.moretti@gmail.com | |
| 19 | - | |
| 20 | -Este programa é software livre; você pode redistribuí-lo | |
| 21 | -e/ou modificá-lo sob os termos da Licença Pública Geral | |
| 22 | -GNU conforme publicada pela Free Software Foundation; | |
| 23 | - | |
| 24 | -Este programa é distribuído na expectativa de que seja útil, | |
| 25 | -porém, SEM NENHUMA GARANTIA; nem mesmo a garantia implícita | |
| 26 | -de COMERCIABILIDADE OU ADEQUAÇÃO A UMA FINALIDADE ESPECÍFICA. | |
| 27 | -Consulte a Licença Pública Geral do GNU para mais detalhes. | |
| 28 | -Você deve ter recebido uma copia da Licença Pública Geral do | |
| 29 | -GNU junto com este programa; se não, escreva para a | |
| 30 | -Free Software Foundation, Inc., no endereço | |
| 31 | -59 Temple Street, Suite 330, Boston, MA 02111-1307 USA. | |
| 32 | - | |
| 33 | -Arquivo: | |
| 34 | - | |
| 35 | -i3geo/classesphp/funcoes_login.php | |
| 36 | - | |
| 37 | -Parametros: | |
| 38 | - | |
| 39 | -funcao - opção que será executada (veja abaixo a lista de Valores que esse parâmetro pode assumir). | |
| 40 | - | |
| 41 | -Retorno: | |
| 42 | - | |
| 43 | -O resultado da operação será retornado em um objeto CPAINT. | |
| 44 | - | |
| 45 | -A construção da string JSON é feita preferencialmente pelas funções nativas do PHP. | |
| 46 | -Para efeitos de compatibilidade, uma vez que até a versão 4.2 a string JSON era construida pelo CPAINT, | |
| 47 | -o objeto CPAINT ainda é definido, porém, a função cpjson verifica se as funções nativas do PHPO (json) | |
| 48 | -estão instaladas, se estiverem, utiliza-se a função nativa, se não, utiliza-se o CPAINT para gerar o JSON. | |
| 49 | - | |
| 50 | -Exemplo de chamada CPAINT (Ajax) do lado do cliente (javascript): | |
| 51 | - | |
| 52 | -var p = "classesphp/mapa_controle.php?funcao=crialente&resolucao=1.5&g_sid="+g_sid | |
| 53 | - | |
| 54 | -var cp = new cpaint() | |
| 55 | - | |
| 56 | -cp.set_response_type("JSON") | |
| 57 | - | |
| 58 | -cp.call(p,"lente",ajaxabrelente) | |
| 59 | - | |
| 60 | -*/ | |
| 61 | -//error_reporting(0); | |
| 62 | -// | |
| 63 | -//pega as variaveis passadas com get ou post | |
| 64 | -// | |
| 65 | -include_once(dirname(__FILE__)."/../safe.php"); | |
| 66 | - | |
| 67 | -include_once(dirname(__FILE__)."/admin.php"); | |
| 68 | - | |
| 69 | -//verifica se o login pode ser realizado | |
| 70 | -if(isset($i3geoPermiteLogin) && $i3geoPermiteLogin == false){ | |
| 71 | - header ( "HTTP/1.1 403 Login desativado" ); | |
| 72 | - exit (); | |
| 73 | -} | |
| 74 | -//$i3geoPermiteLoginIp vem de ms_configura.php | |
| 75 | -if(isset($i3geoPermiteLoginIp)){ | |
| 76 | - checaLoginIp($i3geoPermiteLoginIp); | |
| 77 | -} | |
| 78 | - | |
| 79 | -//error_reporting(0); | |
| 80 | -session_write_close(); | |
| 81 | -session_name("i3GeoLogin"); | |
| 82 | -//se o usuario estiver tentando fazer login | |
| 83 | -if(!empty($_POST["usuario"]) && !empty($_POST["senha"])){ | |
| 84 | - logoutUsuario(); | |
| 85 | - session_regenerate_id(); | |
| 86 | - $_SESSION = array(); | |
| 87 | - session_start(); | |
| 88 | - $funcao = "login"; | |
| 89 | -} | |
| 90 | -else{//se nao, verifica se o login ja existe realmente | |
| 91 | - if(!empty($_COOKIE["i3geocodigologin"])){ | |
| 92 | - session_id($_COOKIE["i3geocodigologin"]); | |
| 93 | - session_start(); | |
| 94 | - if($_SESSION["usuario"] != $_COOKIE["i3geousuariologin"]){ | |
| 95 | - logoutUsuario(); | |
| 96 | - cpjson("logout"); | |
| 97 | - } | |
| 98 | - } | |
| 99 | - else{//caso nao exista, retorna um erro | |
| 100 | - logoutUsuario(); | |
| 101 | - cpjson("erro"); | |
| 102 | - } | |
| 103 | -} | |
| 104 | -//var_dump($_SESSION);exit; | |
| 105 | -$retorno = "logout"; //string que será retornada ao browser via JSON | |
| 106 | -switch (strtoupper($funcao)) | |
| 107 | -{ | |
| 108 | - /* | |
| 109 | - Valor: LOGIN | |
| 110 | - | |
| 111 | - Verifica usuário e senha e registra id da sessao que guarda o resultado. | |
| 112 | - | |
| 113 | - */ | |
| 114 | - case "LOGIN": | |
| 115 | - $usuario = $_POST["usuario"]; | |
| 116 | - $senha = $_POST["senha"]; | |
| 117 | - $teste = autenticaUsuario($usuario,$senha); | |
| 118 | - if($teste == "muitas tentativas"){ | |
| 119 | - logoutUsuario(); | |
| 120 | - header ( "HTTP/1.1 403 Muitas tentativas" ); | |
| 121 | - exit; | |
| 122 | - } | |
| 123 | - if($teste != false){ | |
| 124 | - $_SESSION["usuario"] = $usuario; | |
| 125 | - $_SESSION["id_usuario"] = $teste["usuario"]["id_usuario"]; | |
| 126 | - $_SESSION["senha"] = $senha; | |
| 127 | - $_SESSION["papeis"] = $teste["papeis"]; | |
| 128 | - $_SESSION["operacoes"] = $teste["operacoes"]; | |
| 129 | - $_SESSION["gruposusr"] = $teste["gruposusr"]; | |
| 130 | - $fingerprint = 'I3GEOLOGIN' . $_SERVER['HTTP_USER_AGENT']; | |
| 131 | - //var_dump($_SESSION["operacoes"]);exit; | |
| 132 | - $_SESSION['fingerprint'] = md5($fingerprint . session_id()); | |
| 133 | - $editor = "nao"; | |
| 134 | - foreach($_SESSION["papeis"] as $p){ | |
| 135 | - if($p < 3){ | |
| 136 | - $editor = "sim"; | |
| 137 | - } | |
| 138 | - } | |
| 139 | - $retorno = array("id"=>session_id(),"nome"=>$teste["usuario"]["nome_usuario"],"editor"=>$editor); | |
| 140 | - cpjson($retorno); | |
| 141 | - } | |
| 142 | - else{ | |
| 143 | - logoutUsuario(); | |
| 144 | - cpjson("logout"); | |
| 145 | - } | |
| 146 | - break; | |
| 147 | - /* | |
| 148 | - Valor: VALIDAOPERACAOUSUARIO | |
| 149 | - | |
| 150 | - Verifica se um usuario pode executar uma operacao | |
| 151 | - | |
| 152 | - Para que o usuario possa executar a operacao, o papel ao qual ele pertence deve estar registrado em operacoespaeis no banco de administracao | |
| 153 | - | |
| 154 | - Se $operacao for vazio, e retornado "sim", o que permite que a verificacao apenas confirme que o login esta correto na sessao | |
| 155 | - | |
| 156 | - Paremeter: | |
| 157 | - | |
| 158 | - $operacao - operacao que sera verificada | |
| 159 | - */ | |
| 160 | - case "VALIDAOPERACAOSESSAO": | |
| 161 | - $retorno = "nao"; | |
| 162 | - if($_GET["operacao"] == ""){ | |
| 163 | - $retorno = "sim"; | |
| 164 | - } | |
| 165 | - else{ | |
| 166 | - if(verificaOperacaoSessao($_GET["operacao"]) == true){ | |
| 167 | - $retorno = "sim"; | |
| 168 | - } | |
| 169 | - else{ | |
| 170 | - //logoutUsuario(); | |
| 171 | - $retorno = "naopermitido"; | |
| 172 | - } | |
| 173 | - } | |
| 174 | - cpjson($retorno); | |
| 175 | - break; | |
| 176 | - /* | |
| 177 | - Valor: RECUPERARSENHA | |
| 178 | - | |
| 179 | - Cria uma nova senha para um usuario enviando-a por e-mailo | |
| 180 | - | |
| 181 | - Paremeter: | |
| 182 | - | |
| 183 | - $usuario | |
| 184 | - */ | |
| 185 | - case "RECUPERARSENHA": | |
| 186 | - $retorno = false; | |
| 187 | - if(!empty($_POST["usuario"])){ | |
| 188 | - $retorno = recuperarSenha($_POST["usuario"]); | |
| 189 | - } | |
| 190 | - cpjson($retorno); | |
| 191 | - break; | |
| 192 | - /* | |
| 193 | - Valor: ALTERARSENHA | |
| 194 | - | |
| 195 | - Altera a senha de um usuario | |
| 196 | - | |
| 197 | - Paremeter: | |
| 198 | - | |
| 199 | - $usuario | |
| 200 | - | |
| 201 | - $novasenha | |
| 202 | - */ | |
| 203 | - case "ALTERARSENHA": | |
| 204 | - $retorno = false; | |
| 205 | - if(!empty($_POST["usuario"])){ | |
| 206 | - $retorno = alterarSenha($_POST["usuario"],$_POST["novaSenha"]); | |
| 207 | - } | |
| 208 | - cpjson($retorno); | |
| 209 | - break; | |
| 210 | -} | |
| 211 | -function alterarSenha($usuario,$novaSenha){ | |
| 212 | - include(dirname(__FILE__)."/conexao.php"); | |
| 213 | - $dados = pegaDados("select * from ".$esquemaadmin."i3geousr_usuarios where senha = '".md5($_SESSION["senha"])."' and login = '$usuario' and ativo = 1",$locaplic); | |
| 214 | - if(count($dados) > 0){ | |
| 215 | - $dbhw->query("UPDATE ".$esquemaadmin."i3geousr_usuarios SET senha='".md5($novaSenha)."' WHERE login = '$usuario'"); | |
| 216 | - $_SESSION["senha"] = $novaSenha; | |
| 217 | - $to = $dados[0]["email"]; | |
| 218 | - $subject = 'nova senha i3geo'; | |
| 219 | - $message = "Sua senha foi alterada"; | |
| 220 | - mail($to, $subject, $message); | |
| 221 | - return true; | |
| 222 | - } | |
| 223 | - else{ | |
| 224 | - return false; | |
| 225 | - } | |
| 226 | -} | |
| 227 | -function recuperarSenha($usuario){ | |
| 228 | - include(dirname(__FILE__)."/conexao.php"); | |
| 229 | - $novaSenha = rand(9000,1000000); | |
| 230 | - $dados = pegaDados("select * from ".$esquemaadmin."i3geousr_usuarios where login = '$usuario' and ativo = 1",$locaplic); | |
| 231 | - if(count($dados) > 0){ | |
| 232 | - $dbhw->query("UPDATE ".$esquemaadmin."i3geousr_usuarios SET senha='".md5($novaSenha)."' WHERE login = '$usuario'"); | |
| 233 | - $to = $dados[0]["email"]; | |
| 234 | - $subject = 'nova senha i3geo'; | |
| 235 | - $message = $novaSenha; | |
| 236 | - mail($to, $subject, $message); | |
| 237 | - return true; | |
| 238 | - } | |
| 239 | - else{ | |
| 240 | - return false; | |
| 241 | - } | |
| 242 | -} | |
| 243 | -// | |
| 244 | -//verifica se um determinado papel esta registrado na variavel SESSION | |
| 245 | -// | |
| 246 | -function verificaPapelSessao($id_papel){ | |
| 247 | - $resultado = false; | |
| 248 | - if(validaSessao()){ | |
| 249 | - foreach($_SESSION["papeis"] as $p){ | |
| 250 | - if($p["id_papel"] == 1 || $p["id_papel"] == $id_papel){ | |
| 251 | - return true; | |
| 252 | - } | |
| 253 | - } | |
| 254 | - } | |
| 255 | - return $resultado; | |
| 256 | -} | |
| 257 | -// | |
| 258 | -//verifica se uma determinada operacao esta registrada na variavel SESSION | |
| 259 | -// | |
| 260 | -function verificaOperacaoSessao($operacao){ | |
| 261 | - $resultado = false; | |
| 262 | - //a validacao consulta $_SESSION, que e definida no login | |
| 263 | - if(validaSessao()){ | |
| 264 | - //verifica se e administrador, caso positivo, permite qq operacao | |
| 265 | - foreach($_SESSION["papeis"] as $p){ | |
| 266 | - if($p == 1){ | |
| 267 | - return true; | |
| 268 | - } | |
| 269 | - } | |
| 270 | - if(!empty($_SESSION["operacoes"][$operacao])){ | |
| 271 | - $resultado = true; | |
| 272 | - } | |
| 273 | - } | |
| 274 | - return $resultado; | |
| 275 | -} | |
| 276 | -// | |
| 277 | -//verifica se o usuario esta logado | |
| 278 | -// | |
| 279 | -function validaSessao(){ | |
| 280 | - $fingerprint = 'I3GEOLOGIN' . $_SERVER['HTTP_USER_AGENT']; | |
| 281 | - if($_SESSION['fingerprint'] != md5($fingerprint . session_id())){ | |
| 282 | - return false; | |
| 283 | - } | |
| 284 | - if($_SESSION["usuario"] != $_COOKIE["i3geousuariologin"]){ | |
| 285 | - return false; | |
| 286 | - } | |
| 287 | - return true; | |
| 288 | -} | |
| 289 | -// | |
| 290 | -//faz a autenticacao de um usuario baseado no login e senha | |
| 291 | -//registra as operacoes, papeis e grupos do usuario na SESSION | |
| 292 | -// | |
| 293 | -function autenticaUsuario($usuario,$senha){ | |
| 294 | - include(dirname(__FILE__)."/conexao.php"); | |
| 295 | - error_reporting(0); | |
| 296 | - $senhamd5 = md5($senha); | |
| 297 | - if(function_exists("password_hash")){ | |
| 298 | - $senhaHash = password_hash($senha, PASSWORD_DEFAULT); | |
| 299 | - } | |
| 300 | - | |
| 301 | - //faz um teste de tentativas de acesso | |
| 302 | - $nomeArquivo = $dir_tmp."/a".md5($usuario."testeTentativas").intval(time() / 1000); | |
| 303 | - if(!file_exists($dir_tmp)){ | |
| 304 | - return false; | |
| 305 | - } | |
| 306 | - if(file_exists($nomeArquivo)){ | |
| 307 | - $tentativas = (int) file_get_contents($nomeArquivo); | |
| 308 | - if($tentativas > 3){ | |
| 309 | - return "muitas tentativas"; | |
| 310 | - } | |
| 311 | - $tentativas = $tentativas + 1; | |
| 312 | - file_put_contents($nomeArquivo, $tentativas); | |
| 313 | - } | |
| 314 | - else { | |
| 315 | - file_put_contents($nomeArquivo, 1); | |
| 316 | - } | |
| 317 | - //verifica se o usuario esta cadastrado no ms_configura.php em $i3geomaster | |
| 318 | - //echo "select * from ".$esquemaadmin."i3geousr_usuarios where login = '$usuario' and (senha = '$senhamd5' or senha = '$senha') and ativo = 1";exit; | |
| 319 | - //exit; | |
| 320 | - if(verificaMaster($usuario,$senha) == true){ | |
| 321 | - //$pa = pegaDados("select * from ".$esquemaadmin."i3geousr_papelusuario ",$dbh,false); | |
| 322 | - $pa = pegaDados("select * from ".$esquemaadmin."i3geousr_papeis ",$dbh,false); | |
| 323 | - $op = pegadados("SELECT O.codigo FROM ".$esquemaadmin."i3geousr_operacoes AS O",$dbh,false); | |
| 324 | - $gr = pegadados("SELECT * from ".$esquemaadmin."i3geousr_grupos ",$dbh,false); | |
| 325 | - //var_dump($gr);exit; | |
| 326 | - $operacoes = array(); | |
| 327 | - foreach($op as $o){ | |
| 328 | - $operacoes[$o["codigo"]] = true; | |
| 329 | - } | |
| 330 | - $papeis = array(); | |
| 331 | - foreach($pa as $p){ | |
| 332 | - $papeis[] = $p["id_papel"]; | |
| 333 | - } | |
| 334 | - $gruposusr = array(); | |
| 335 | - foreach($gr as $p){ | |
| 336 | - $gruposusr[] = $p["id_grupo"]; | |
| 337 | - } | |
| 338 | - $master = array(); | |
| 339 | - $master["id_usuario"] = "master"; | |
| 340 | - $master["nome_usuario"] = "master"; | |
| 341 | - $r = array("usuario"=>$master,"papeis"=>$papeis,"operacoes"=>$operacoes,"gruposusr"=>$gruposusr); | |
| 342 | - $dbh = null; | |
| 343 | - $dbhw = null; | |
| 344 | - file_put_contents($nomeArquivo, 1); | |
| 345 | - return $r; | |
| 346 | - } | |
| 347 | - else{ | |
| 348 | - //verifica se a senha e uma string ou pode ser um md5 | |
| 349 | - $ok = false; | |
| 350 | - $dados = array(); | |
| 351 | - //por causa das versoes antigas do PHP | |
| 352 | - if(strlen($senha) == 32 || !function_exists("password_hash") ){ | |
| 353 | - $dados = pegaDados("select senha,login,id_usuario,nome_usuario from ".$esquemaadmin."i3geousr_usuarios where login = '$usuario' and senha = '$senhamd5' and ativo = 1",$dbh,false); | |
| 354 | - if(count($dados) == 1 && $dados[0]["senha"] == $senhamd5 && $dados[0]["login"] == $usuario){ | |
| 355 | - $ok = true; | |
| 356 | - } | |
| 357 | - } | |
| 358 | - else{ | |
| 359 | - $usuarios = pegaDados("select senha,id_usuario,nome_usuario from ".$esquemaadmin."i3geousr_usuarios where login = '$usuario' and ativo = 1",$dbh,false); | |
| 360 | - if (count($usuarios) == 1 && password_verify($senha,$usuarios[0]["senha"])){ | |
| 361 | - $ok = true; | |
| 362 | - $dados[] = array("id_usuario"=>$usuarios[0]["id_usuario"],"nome_usuario"=>$usuarios[0]["nome_usuario"]); | |
| 363 | - } | |
| 364 | - $usuarios = null; | |
| 365 | - } | |
| 366 | - if($ok == true){ | |
| 367 | - $pa = pegaDados("select * from ".$esquemaadmin."i3geousr_papelusuario where id_usuario = ".$dados[0]["id_usuario"],$dbh,false); | |
| 368 | - $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); | |
| 369 | - $gr = pegadados("SELECT * from ".$esquemaadmin."i3geousr_grupousuario where id_usuario = ".$dados[0]["id_usuario"],$dbh,false); | |
| 370 | - $operacoes = array(); | |
| 371 | - foreach($op as $o){ | |
| 372 | - $operacoes[$o["codigo"]] = true; | |
| 373 | - } | |
| 374 | - $papeis = array(); | |
| 375 | - foreach($pa as $p){ | |
| 376 | - $papeis[] = $p["id_papel"]; | |
| 377 | - } | |
| 378 | - $gruposusr = array(); | |
| 379 | - foreach($gr as $p){ | |
| 380 | - $gruposusr[] = $p["id_grupo"]; | |
| 381 | - } | |
| 382 | - $r = array("usuario"=>$dados[0],"papeis"=>$papeis,"operacoes"=>$operacoes,"gruposusr"=>$gruposusr); | |
| 383 | - $dbh = null; | |
| 384 | - $dbhw = null; | |
| 385 | - file_put_contents($nomeArquivo, 1); | |
| 386 | - return $r; | |
| 387 | - } | |
| 388 | - else{ | |
| 389 | - $dbh = null; | |
| 390 | - $dbhw = null; | |
| 391 | - return false; | |
| 392 | - } | |
| 393 | - } | |
| 394 | -} | |
| 395 | -// | |
| 396 | -//faz o logout do usuario destruindo os cookies e session | |
| 397 | -// | |
| 398 | -function logoutUsuario(){ | |
| 399 | - $_COOKIE = array(); | |
| 400 | - $_SESSION = array(); | |
| 401 | - if(session_status() == PHP_SESSION_ACTIVE){ | |
| 402 | - session_destroy(); | |
| 403 | - } | |
| 404 | -} | |
| 405 | -?> |
| ... | ... | @@ -0,0 +1,406 @@ |
| 1 | +<?php | |
| 2 | +exit; | |
| 3 | +/* | |
| 4 | +Title: funcoes_login.php | |
| 5 | + | |
| 6 | +Controle das requisições em Ajax utilizadas para gerenciar login de usuário e controle de acesso | |
| 7 | + | |
| 8 | +Recebe as requisições feitas em JavaScript (AJAX) e retorna o resultado para a interface. | |
| 9 | + | |
| 10 | +O parâmetro "funcao" define qual a operação que será executada. Esse parâmetro é verificado em um bloco "switch ($funcao)". | |
| 11 | + | |
| 12 | +Licenca: | |
| 13 | + | |
| 14 | +GPL2 | |
| 15 | + | |
| 16 | +i3Geo Interface Integrada de Ferramentas de Geoprocessamento para Internet | |
| 17 | + | |
| 18 | +Direitos Autorais Reservados (c) 2006 Edmar Moretti | |
| 19 | +Desenvolvedor: Edmar Moretti edmar.moretti@gmail.com | |
| 20 | + | |
| 21 | +Este programa é software livre; você pode redistribuí-lo | |
| 22 | +e/ou modificá-lo sob os termos da Licença Pública Geral | |
| 23 | +GNU conforme publicada pela Free Software Foundation; | |
| 24 | + | |
| 25 | +Este programa é distribuído na expectativa de que seja útil, | |
| 26 | +porém, SEM NENHUMA GARANTIA; nem mesmo a garantia implícita | |
| 27 | +de COMERCIABILIDADE OU ADEQUAÇÃO A UMA FINALIDADE ESPECÍFICA. | |
| 28 | +Consulte a Licença Pública Geral do GNU para mais detalhes. | |
| 29 | +Você deve ter recebido uma copia da Licença Pública Geral do | |
| 30 | +GNU junto com este programa; se não, escreva para a | |
| 31 | +Free Software Foundation, Inc., no endereço | |
| 32 | +59 Temple Street, Suite 330, Boston, MA 02111-1307 USA. | |
| 33 | + | |
| 34 | +Arquivo: | |
| 35 | + | |
| 36 | +i3geo/classesphp/funcoes_login.php | |
| 37 | + | |
| 38 | +Parametros: | |
| 39 | + | |
| 40 | +funcao - opção que será executada (veja abaixo a lista de Valores que esse parâmetro pode assumir). | |
| 41 | + | |
| 42 | +Retorno: | |
| 43 | + | |
| 44 | +O resultado da operação será retornado em um objeto CPAINT. | |
| 45 | + | |
| 46 | +A construção da string JSON é feita preferencialmente pelas funções nativas do PHP. | |
| 47 | +Para efeitos de compatibilidade, uma vez que até a versão 4.2 a string JSON era construida pelo CPAINT, | |
| 48 | +o objeto CPAINT ainda é definido, porém, a função cpjson verifica se as funções nativas do PHPO (json) | |
| 49 | +estão instaladas, se estiverem, utiliza-se a função nativa, se não, utiliza-se o CPAINT para gerar o JSON. | |
| 50 | + | |
| 51 | +Exemplo de chamada CPAINT (Ajax) do lado do cliente (javascript): | |
| 52 | + | |
| 53 | +var p = "classesphp/mapa_controle.php?funcao=crialente&resolucao=1.5&g_sid="+g_sid | |
| 54 | + | |
| 55 | +var cp = new cpaint() | |
| 56 | + | |
| 57 | +cp.set_response_type("JSON") | |
| 58 | + | |
| 59 | +cp.call(p,"lente",ajaxabrelente) | |
| 60 | + | |
| 61 | +*/ | |
| 62 | +//error_reporting(0); | |
| 63 | +// | |
| 64 | +//pega as variaveis passadas com get ou post | |
| 65 | +// | |
| 66 | +include_once(dirname(__FILE__)."/../safe.php"); | |
| 67 | +//var_dump($_POST);exit; | |
| 68 | +include_once(dirname(__FILE__)."/admin.php"); | |
| 69 | + | |
| 70 | +//verifica se o login pode ser realizado | |
| 71 | +if(isset($i3geoPermiteLogin) && $i3geoPermiteLogin == false){ | |
| 72 | + header ( "HTTP/1.1 403 Login desativado" ); | |
| 73 | + exit (); | |
| 74 | +} | |
| 75 | +//$i3geoPermiteLoginIp vem de ms_configura.php | |
| 76 | +if(isset($i3geoPermiteLoginIp)){ | |
| 77 | + checaLoginIp($i3geoPermiteLoginIp); | |
| 78 | +} | |
| 79 | + | |
| 80 | +//error_reporting(0); | |
| 81 | +session_write_close(); | |
| 82 | +session_name("i3GeoLogin"); | |
| 83 | +//se o usuario estiver tentando fazer login | |
| 84 | +if(!empty($_POST["usuario"]) && !empty($_POST["senha"])){ | |
| 85 | + logoutUsuario(); | |
| 86 | + session_regenerate_id(); | |
| 87 | + $_SESSION = array(); | |
| 88 | + session_start(); | |
| 89 | + $funcao = "login"; | |
| 90 | +} | |
| 91 | +else{//se nao, verifica se o login ja existe realmente | |
| 92 | + if(!empty($_COOKIE["i3geocodigologin"])){ | |
| 93 | + session_id($_COOKIE["i3geocodigologin"]); | |
| 94 | + session_start(); | |
| 95 | + if($_SESSION["usuario"] != $_COOKIE["i3geousuariologin"]){ | |
| 96 | + logoutUsuario(); | |
| 97 | + cpjson("logout"); | |
| 98 | + } | |
| 99 | + } | |
| 100 | + else{//caso nao exista, retorna um erro | |
| 101 | + logoutUsuario(); | |
| 102 | + cpjson("erro"); | |
| 103 | + } | |
| 104 | +} | |
| 105 | +//var_dump($_SESSION);exit; | |
| 106 | +$retorno = "logout"; //string que será retornada ao browser via JSON | |
| 107 | +switch (strtoupper($funcao)) | |
| 108 | +{ | |
| 109 | + /* | |
| 110 | + Valor: LOGIN | |
| 111 | + | |
| 112 | + Verifica usuário e senha e registra id da sessao que guarda o resultado. | |
| 113 | + | |
| 114 | + */ | |
| 115 | + case "LOGIN": | |
| 116 | + $usuario = $_POST["usuario"]; | |
| 117 | + $senha = $_POST["senha"]; | |
| 118 | + $teste = autenticaUsuario($usuario,$senha); | |
| 119 | + if($teste == "muitas tentativas"){ | |
| 120 | + logoutUsuario(); | |
| 121 | + header ( "HTTP/1.1 403 Muitas tentativas" ); | |
| 122 | + exit; | |
| 123 | + } | |
| 124 | + if($teste != false){ | |
| 125 | + $_SESSION["usuario"] = $usuario; | |
| 126 | + $_SESSION["id_usuario"] = $teste["usuario"]["id_usuario"]; | |
| 127 | + $_SESSION["senha"] = $senha; | |
| 128 | + $_SESSION["papeis"] = $teste["papeis"]; | |
| 129 | + $_SESSION["operacoes"] = $teste["operacoes"]; | |
| 130 | + $_SESSION["gruposusr"] = $teste["gruposusr"]; | |
| 131 | + $fingerprint = 'I3GEOLOGIN' . $_SERVER['HTTP_USER_AGENT']; | |
| 132 | + //var_dump($_SESSION["operacoes"]);exit; | |
| 133 | + $_SESSION['fingerprint'] = md5($fingerprint . session_id()); | |
| 134 | + $editor = "nao"; | |
| 135 | + foreach($_SESSION["papeis"] as $p){ | |
| 136 | + if($p < 3){ | |
| 137 | + $editor = "sim"; | |
| 138 | + } | |
| 139 | + } | |
| 140 | + $retorno = array("id"=>session_id(),"nome"=>$teste["usuario"]["nome_usuario"],"editor"=>$editor); | |
| 141 | + cpjson($retorno); | |
| 142 | + } | |
| 143 | + else{ | |
| 144 | + logoutUsuario(); | |
| 145 | + cpjson("logout"); | |
| 146 | + } | |
| 147 | + break; | |
| 148 | + /* | |
| 149 | + Valor: VALIDAOPERACAOUSUARIO | |
| 150 | + | |
| 151 | + Verifica se um usuario pode executar uma operacao | |
| 152 | + | |
| 153 | + Para que o usuario possa executar a operacao, o papel ao qual ele pertence deve estar registrado em operacoespaeis no banco de administracao | |
| 154 | + | |
| 155 | + Se $operacao for vazio, e retornado "sim", o que permite que a verificacao apenas confirme que o login esta correto na sessao | |
| 156 | + | |
| 157 | + Paremeter: | |
| 158 | + | |
| 159 | + $operacao - operacao que sera verificada | |
| 160 | + */ | |
| 161 | + case "VALIDAOPERACAOSESSAO": | |
| 162 | + $retorno = "nao"; | |
| 163 | + if($_GET["operacao"] == ""){ | |
| 164 | + $retorno = "sim"; | |
| 165 | + } | |
| 166 | + else{ | |
| 167 | + if(verificaOperacaoSessao($_GET["operacao"]) == true){ | |
| 168 | + $retorno = "sim"; | |
| 169 | + } | |
| 170 | + else{ | |
| 171 | + //logoutUsuario(); | |
| 172 | + $retorno = "naopermitido"; | |
| 173 | + } | |
| 174 | + } | |
| 175 | + cpjson($retorno); | |
| 176 | + break; | |
| 177 | + /* | |
| 178 | + Valor: RECUPERARSENHA | |
| 179 | + | |
| 180 | + Cria uma nova senha para um usuario enviando-a por e-mailo | |
| 181 | + | |
| 182 | + Paremeter: | |
| 183 | + | |
| 184 | + $usuario | |
| 185 | + */ | |
| 186 | + case "RECUPERARSENHA": | |
| 187 | + $retorno = false; | |
| 188 | + if(!empty($_POST["usuario"])){ | |
| 189 | + $retorno = recuperarSenha($_POST["usuario"]); | |
| 190 | + } | |
| 191 | + cpjson($retorno); | |
| 192 | + break; | |
| 193 | + /* | |
| 194 | + Valor: ALTERARSENHA | |
| 195 | + | |
| 196 | + Altera a senha de um usuario | |
| 197 | + | |
| 198 | + Paremeter: | |
| 199 | + | |
| 200 | + $usuario | |
| 201 | + | |
| 202 | + $novasenha | |
| 203 | + */ | |
| 204 | + case "ALTERARSENHA": | |
| 205 | + $retorno = false; | |
| 206 | + if(!empty($_POST["usuario"])){ | |
| 207 | + $retorno = alterarSenha($_POST["usuario"],$_POST["novaSenha"]); | |
| 208 | + } | |
| 209 | + cpjson($retorno); | |
| 210 | + break; | |
| 211 | +} | |
| 212 | +function alterarSenha($usuario,$novaSenha){ | |
| 213 | + include(dirname(__FILE__)."/conexao.php"); | |
| 214 | + $dados = pegaDados("select * from ".$esquemaadmin."i3geousr_usuarios where senha = '".md5($_SESSION["senha"])."' and login = '$usuario' and ativo = 1",$locaplic); | |
| 215 | + if(count($dados) > 0){ | |
| 216 | + $dbhw->query("UPDATE ".$esquemaadmin."i3geousr_usuarios SET senha='".md5($novaSenha)."' WHERE login = '$usuario'"); | |
| 217 | + $_SESSION["senha"] = $novaSenha; | |
| 218 | + $to = $dados[0]["email"]; | |
| 219 | + $subject = 'nova senha i3geo'; | |
| 220 | + $message = "Sua senha foi alterada"; | |
| 221 | + mail($to, $subject, $message); | |
| 222 | + return true; | |
| 223 | + } | |
| 224 | + else{ | |
| 225 | + return false; | |
| 226 | + } | |
| 227 | +} | |
| 228 | +function recuperarSenha($usuario){ | |
| 229 | + include(dirname(__FILE__)."/conexao.php"); | |
| 230 | + $novaSenha = rand(9000,1000000); | |
| 231 | + $dados = pegaDados("select * from ".$esquemaadmin."i3geousr_usuarios where login = '$usuario' and ativo = 1",$locaplic); | |
| 232 | + if(count($dados) > 0){ | |
| 233 | + $dbhw->query("UPDATE ".$esquemaadmin."i3geousr_usuarios SET senha='".md5($novaSenha)."' WHERE login = '$usuario'"); | |
| 234 | + $to = $dados[0]["email"]; | |
| 235 | + $subject = 'nova senha i3geo'; | |
| 236 | + $message = $novaSenha; | |
| 237 | + mail($to, $subject, $message); | |
| 238 | + return true; | |
| 239 | + } | |
| 240 | + else{ | |
| 241 | + return false; | |
| 242 | + } | |
| 243 | +} | |
| 244 | +// | |
| 245 | +//verifica se um determinado papel esta registrado na variavel SESSION | |
| 246 | +// | |
| 247 | +function verificaPapelSessao($id_papel){ | |
| 248 | + $resultado = false; | |
| 249 | + if(validaSessao()){ | |
| 250 | + foreach($_SESSION["papeis"] as $p){ | |
| 251 | + if($p["id_papel"] == 1 || $p["id_papel"] == $id_papel){ | |
| 252 | + return true; | |
| 253 | + } | |
| 254 | + } | |
| 255 | + } | |
| 256 | + return $resultado; | |
| 257 | +} | |
| 258 | +// | |
| 259 | +//verifica se uma determinada operacao esta registrada na variavel SESSION | |
| 260 | +// | |
| 261 | +function verificaOperacaoSessao($operacao){ | |
| 262 | + $resultado = false; | |
| 263 | + //a validacao consulta $_SESSION, que e definida no login | |
| 264 | + if(validaSessao()){ | |
| 265 | + //verifica se e administrador, caso positivo, permite qq operacao | |
| 266 | + foreach($_SESSION["papeis"] as $p){ | |
| 267 | + if($p == 1){ | |
| 268 | + return true; | |
| 269 | + } | |
| 270 | + } | |
| 271 | + if(!empty($_SESSION["operacoes"][$operacao])){ | |
| 272 | + $resultado = true; | |
| 273 | + } | |
| 274 | + } | |
| 275 | + return $resultado; | |
| 276 | +} | |
| 277 | +// | |
| 278 | +//verifica se o usuario esta logado | |
| 279 | +// | |
| 280 | +function validaSessao(){ | |
| 281 | + $fingerprint = 'I3GEOLOGIN' . $_SERVER['HTTP_USER_AGENT']; | |
| 282 | + if($_SESSION['fingerprint'] != md5($fingerprint . session_id())){ | |
| 283 | + return false; | |
| 284 | + } | |
| 285 | + if($_SESSION["usuario"] != $_COOKIE["i3geousuariologin"]){ | |
| 286 | + return false; | |
| 287 | + } | |
| 288 | + return true; | |
| 289 | +} | |
| 290 | +// | |
| 291 | +//faz a autenticacao de um usuario baseado no login e senha | |
| 292 | +//registra as operacoes, papeis e grupos do usuario na SESSION | |
| 293 | +// | |
| 294 | +function autenticaUsuario($usuario,$senha){ | |
| 295 | + include(dirname(__FILE__)."/conexao.php"); | |
| 296 | + error_reporting(0); | |
| 297 | + $senhamd5 = md5($senha); | |
| 298 | + if(function_exists("password_hash")){ | |
| 299 | + $senhaHash = password_hash($senha, PASSWORD_DEFAULT); | |
| 300 | + } | |
| 301 | + | |
| 302 | + //faz um teste de tentativas de acesso | |
| 303 | + $nomeArquivo = $dir_tmp."/a".md5($usuario."testeTentativas").intval(time() / 1000); | |
| 304 | + if(!file_exists($dir_tmp)){ | |
| 305 | + return false; | |
| 306 | + } | |
| 307 | + if(file_exists($nomeArquivo)){ | |
| 308 | + $tentativas = (int) file_get_contents($nomeArquivo); | |
| 309 | + if($tentativas > 3){ | |
| 310 | + return "muitas tentativas"; | |
| 311 | + } | |
| 312 | + $tentativas = $tentativas + 1; | |
| 313 | + file_put_contents($nomeArquivo, $tentativas); | |
| 314 | + } | |
| 315 | + else { | |
| 316 | + file_put_contents($nomeArquivo, 1); | |
| 317 | + } | |
| 318 | + //verifica se o usuario esta cadastrado no ms_configura.php em $i3geomaster | |
| 319 | + //echo "select * from ".$esquemaadmin."i3geousr_usuarios where login = '$usuario' and (senha = '$senhamd5' or senha = '$senha') and ativo = 1";exit; | |
| 320 | + //exit; | |
| 321 | + if(verificaMaster($usuario,$senha) == true){ | |
| 322 | + //$pa = pegaDados("select * from ".$esquemaadmin."i3geousr_papelusuario ",$dbh,false); | |
| 323 | + $pa = pegaDados("select * from ".$esquemaadmin."i3geousr_papeis ",$dbh,false); | |
| 324 | + $op = pegadados("SELECT O.codigo FROM ".$esquemaadmin."i3geousr_operacoes AS O",$dbh,false); | |
| 325 | + $gr = pegadados("SELECT * from ".$esquemaadmin."i3geousr_grupos ",$dbh,false); | |
| 326 | + //var_dump($gr);exit; | |
| 327 | + $operacoes = array(); | |
| 328 | + foreach($op as $o){ | |
| 329 | + $operacoes[$o["codigo"]] = true; | |
| 330 | + } | |
| 331 | + $papeis = array(); | |
| 332 | + foreach($pa as $p){ | |
| 333 | + $papeis[] = $p["id_papel"]; | |
| 334 | + } | |
| 335 | + $gruposusr = array(); | |
| 336 | + foreach($gr as $p){ | |
| 337 | + $gruposusr[] = $p["id_grupo"]; | |
| 338 | + } | |
| 339 | + $master = array(); | |
| 340 | + $master["id_usuario"] = "master"; | |
| 341 | + $master["nome_usuario"] = "master"; | |
| 342 | + $r = array("usuario"=>$master,"papeis"=>$papeis,"operacoes"=>$operacoes,"gruposusr"=>$gruposusr); | |
| 343 | + $dbh = null; | |
| 344 | + $dbhw = null; | |
| 345 | + file_put_contents($nomeArquivo, 1); | |
| 346 | + return $r; | |
| 347 | + } | |
| 348 | + else{ | |
| 349 | + //verifica se a senha e uma string ou pode ser um md5 | |
| 350 | + $ok = false; | |
| 351 | + $dados = array(); | |
| 352 | + //por causa das versoes antigas do PHP | |
| 353 | + if(strlen($senha) == 32 || !function_exists("password_hash") ){ | |
| 354 | + $dados = pegaDados("select senha,login,id_usuario,nome_usuario from ".$esquemaadmin."i3geousr_usuarios where login = '$usuario' and senha = '$senhamd5' and ativo = 1",$dbh,false); | |
| 355 | + if(count($dados) == 1 && $dados[0]["senha"] == $senhamd5 && $dados[0]["login"] == $usuario){ | |
| 356 | + $ok = true; | |
| 357 | + } | |
| 358 | + } | |
| 359 | + else{ | |
| 360 | + $usuarios = pegaDados("select senha,id_usuario,nome_usuario from ".$esquemaadmin."i3geousr_usuarios where login = '$usuario' and ativo = 1",$dbh,false); | |
| 361 | + if (count($usuarios) == 1 && password_verify($senha,$usuarios[0]["senha"])){ | |
| 362 | + $ok = true; | |
| 363 | + $dados[] = array("id_usuario"=>$usuarios[0]["id_usuario"],"nome_usuario"=>$usuarios[0]["nome_usuario"]); | |
| 364 | + } | |
| 365 | + $usuarios = null; | |
| 366 | + } | |
| 367 | + if($ok == true){ | |
| 368 | + $pa = pegaDados("select * from ".$esquemaadmin."i3geousr_papelusuario where id_usuario = ".$dados[0]["id_usuario"],$dbh,false); | |
| 369 | + $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); | |
| 370 | + $gr = pegadados("SELECT * from ".$esquemaadmin."i3geousr_grupousuario where id_usuario = ".$dados[0]["id_usuario"],$dbh,false); | |
| 371 | + $operacoes = array(); | |
| 372 | + foreach($op as $o){ | |
| 373 | + $operacoes[$o["codigo"]] = true; | |
| 374 | + } | |
| 375 | + $papeis = array(); | |
| 376 | + foreach($pa as $p){ | |
| 377 | + $papeis[] = $p["id_papel"]; | |
| 378 | + } | |
| 379 | + $gruposusr = array(); | |
| 380 | + foreach($gr as $p){ | |
| 381 | + $gruposusr[] = $p["id_grupo"]; | |
| 382 | + } | |
| 383 | + $r = array("usuario"=>$dados[0],"papeis"=>$papeis,"operacoes"=>$operacoes,"gruposusr"=>$gruposusr); | |
| 384 | + $dbh = null; | |
| 385 | + $dbhw = null; | |
| 386 | + file_put_contents($nomeArquivo, 1); | |
| 387 | + return $r; | |
| 388 | + } | |
| 389 | + else{ | |
| 390 | + $dbh = null; | |
| 391 | + $dbhw = null; | |
| 392 | + return false; | |
| 393 | + } | |
| 394 | + } | |
| 395 | +} | |
| 396 | +// | |
| 397 | +//faz o logout do usuario destruindo os cookies e session | |
| 398 | +// | |
| 399 | +function logoutUsuario(){ | |
| 400 | + $_COOKIE = array(); | |
| 401 | + $_SESSION = array(); | |
| 402 | + if(session_status() == PHP_SESSION_ACTIVE){ | |
| 403 | + session_destroy(); | |
| 404 | + } | |
| 405 | +} | |
| 406 | +?> | ... | ... |
admin1/php/funcoesAdmin.php
| ... | ... | @@ -439,7 +439,7 @@ senha {string} |
| 439 | 439 | i3geomaster {array} - variável existente no ms_configura.php com o cadastro de usuários masters |
| 440 | 440 | */ |
| 441 | 441 | function verificaMaster($usuario,$senha,$i3geomaster){ |
| 442 | - foreach($i3geomaster as $teste){ | |
| 442 | + foreach($i3geomaster as $teste){ | |
| 443 | 443 | if(!empty($usuario) && !empty($senha) && $teste["usuario"] == $usuario && $teste["senha"] == $senha){ |
| 444 | 444 | return true; |
| 445 | 445 | } | ... | ... |
| ... | ... | @@ -0,0 +1,366 @@ |
| 1 | +<?php | |
| 2 | +include(dirname(__FILE__)."/../../ms_configura.php"); | |
| 3 | +include(dirname(__FILE__)."/funcoesAdmin.php"); | |
| 4 | +//verifica se o login pode ser realizado | |
| 5 | +if ($i3geoPermiteLogin == false) { | |
| 6 | + header ( "HTTP/1.1 403 Login desativado" ); | |
| 7 | + exit (); | |
| 8 | +} | |
| 9 | +// checa a lista branca de IPs | |
| 10 | +if (! empty ( $i3geoPermiteLoginIp )) { | |
| 11 | + $ipaddress = ''; | |
| 12 | + if (getenv ( 'HTTP_CLIENT_IP' )) | |
| 13 | + $ipaddress = getenv ( 'HTTP_CLIENT_IP' ); | |
| 14 | + else if (getenv ( 'HTTP_X_FORWARDED_FOR' )) | |
| 15 | + $ipaddress = getenv ( 'HTTP_X_FORWARDED_FOR' ); | |
| 16 | + else if (getenv ( 'HTTP_X_FORWARDED' )) | |
| 17 | + $ipaddress = getenv ( 'HTTP_X_FORWARDED' ); | |
| 18 | + else if (getenv ( 'HTTP_FORWARDED_FOR' )) | |
| 19 | + $ipaddress = getenv ( 'HTTP_FORWARDED_FOR' ); | |
| 20 | + else if (getenv ( 'HTTP_FORWARDED' )) | |
| 21 | + $ipaddress = getenv ( 'HTTP_FORWARDED' ); | |
| 22 | + else if (getenv ( 'REMOTE_ADDR' )) | |
| 23 | + $ipaddress = getenv ( 'REMOTE_ADDR' ); | |
| 24 | + else | |
| 25 | + $ipaddress = 'UNKNOWN'; | |
| 26 | + if (! in_array ( $ipaddress, $i3geoPermiteLoginIp )) { | |
| 27 | + header ( "HTTP/1.1 403 Login nao permitido para o ip" ); | |
| 28 | + exit (); | |
| 29 | + } | |
| 30 | +} | |
| 31 | +if(!function_exists("cpjson")){ | |
| 32 | + include(dirname(__FILE__)."/../../classesphp/funcoes_gerais.php"); | |
| 33 | +} | |
| 34 | +//error_reporting(0); | |
| 35 | +session_write_close(); | |
| 36 | +session_name("i3GeoLogin"); | |
| 37 | +//se o usuario estiver tentando fazer login | |
| 38 | +include_once (dirname(__FILE__)."/../../classesphp/sani_request.php"); | |
| 39 | + | |
| 40 | +if(!empty($_POST["usuario"]) && !empty($_POST["senha"])){ | |
| 41 | + logoutUsuario(); | |
| 42 | + session_regenerate_id(); | |
| 43 | + $_SESSION = array(); | |
| 44 | + session_start(); | |
| 45 | + $funcao = "login"; | |
| 46 | + $_SESSION["locaplic"] = $locaplic; | |
| 47 | + $_SESSION["conexaoadmin"] = $conexaoadmin; | |
| 48 | +} | |
| 49 | +else{//se nao, verifica se o login ja existe realmente | |
| 50 | + if(!empty($_COOKIE["i3geocodigologin"])){ | |
| 51 | + session_id($_COOKIE["i3geocodigologin"]); | |
| 52 | + session_start(); | |
| 53 | + if($_SESSION["usuario"] != $_COOKIE["i3geousuariologin"]){ | |
| 54 | + logoutUsuario(); | |
| 55 | + cpjson("logout"); | |
| 56 | + } | |
| 57 | + } | |
| 58 | + else{//caso nao exista, retorna um erro | |
| 59 | + logoutUsuario(); | |
| 60 | + cpjson("erro"); | |
| 61 | + } | |
| 62 | +} | |
| 63 | + | |
| 64 | +//var_dump($_SESSION);exit; | |
| 65 | +$retorno = "logout"; //string que será retornada ao browser via JSON | |
| 66 | +switch (strtoupper($funcao)) | |
| 67 | +{ | |
| 68 | + /* | |
| 69 | + Valor: LOGIN | |
| 70 | + | |
| 71 | + Verifica usuário e senha e registra id da sessao que guarda o resultado. | |
| 72 | + | |
| 73 | + */ | |
| 74 | + case "LOGIN": | |
| 75 | + $usuario = $_POST["usuario"]; | |
| 76 | + $senha = $_POST["senha"]; | |
| 77 | + $teste = autenticaUsuario($usuario,$senha,$dir_tmp,$i3geomaster); | |
| 78 | + if($teste == "muitas tentativas"){ | |
| 79 | + logoutUsuario(); | |
| 80 | + header ( "HTTP/1.1 403 Muitas tentativas" ); | |
| 81 | + exit; | |
| 82 | + } | |
| 83 | + if($teste != false){ | |
| 84 | + $_SESSION["usuario"] = $usuario; | |
| 85 | + $_SESSION["id_usuario"] = $teste["usuario"]["id_usuario"]; | |
| 86 | + $_SESSION["senha"] = $senha; | |
| 87 | + $_SESSION["papeis"] = $teste["papeis"]; | |
| 88 | + $_SESSION["operacoes"] = $teste["operacoes"]; | |
| 89 | + $_SESSION["gruposusr"] = $teste["gruposusr"]; | |
| 90 | + $fingerprint = 'I3GEOLOGIN' . $_SERVER['HTTP_USER_AGENT']; | |
| 91 | + //var_dump($_SESSION["operacoes"]);exit; | |
| 92 | + $_SESSION['fingerprint'] = md5($fingerprint . session_id()); | |
| 93 | + $editor = "nao"; | |
| 94 | + foreach($_SESSION["papeis"] as $p){ | |
| 95 | + if($p < 3){ | |
| 96 | + $editor = "sim"; | |
| 97 | + } | |
| 98 | + } | |
| 99 | + $retorno = array("id"=>session_id(),"nome"=>$teste["usuario"]["nome_usuario"],"editor"=>$editor); | |
| 100 | + cpjson($retorno); | |
| 101 | + } | |
| 102 | + else{ | |
| 103 | + logoutUsuario(); | |
| 104 | + cpjson("logout"); | |
| 105 | + } | |
| 106 | + break; | |
| 107 | + /* | |
| 108 | + Valor: VALIDAOPERACAOUSUARIO | |
| 109 | + | |
| 110 | + Verifica se um usuario pode executar uma operacao | |
| 111 | + | |
| 112 | + Para que o usuario possa executar a operacao, o papel ao qual ele pertence deve estar registrado em operacoespaeis no banco de administracao | |
| 113 | + | |
| 114 | + Se $operacao for vazio, e retornado "sim", o que permite que a verificacao apenas confirme que o login esta correto na sessao | |
| 115 | + | |
| 116 | + Paremeter: | |
| 117 | + | |
| 118 | + $operacao - operacao que sera verificada | |
| 119 | + */ | |
| 120 | + case "VALIDAOPERACAOSESSAO": | |
| 121 | + $retorno = "nao"; | |
| 122 | + if($_GET["operacao"] == ""){ | |
| 123 | + $retorno = "sim"; | |
| 124 | + } | |
| 125 | + else{ | |
| 126 | + if(verificaOperacaoSessao($_GET["operacao"]) == true){ | |
| 127 | + $retorno = "sim"; | |
| 128 | + } | |
| 129 | + else{ | |
| 130 | + //logoutUsuario(); | |
| 131 | + $retorno = "naopermitido"; | |
| 132 | + } | |
| 133 | + } | |
| 134 | + cpjson($retorno); | |
| 135 | + break; | |
| 136 | + /* | |
| 137 | + Valor: RECUPERARSENHA | |
| 138 | + | |
| 139 | + Cria uma nova senha para um usuario enviando-a por e-mailo | |
| 140 | + | |
| 141 | + Paremeter: | |
| 142 | + | |
| 143 | + $usuario | |
| 144 | + */ | |
| 145 | + case "RECUPERARSENHA": | |
| 146 | + $retorno = false; | |
| 147 | + if(!empty($_POST["usuario"])){ | |
| 148 | + $retorno = recuperarSenha($_POST["usuario"]); | |
| 149 | + } | |
| 150 | + cpjson($retorno); | |
| 151 | + break; | |
| 152 | + /* | |
| 153 | + Valor: ALTERARSENHA | |
| 154 | + | |
| 155 | + Altera a senha de um usuario | |
| 156 | + | |
| 157 | + Paremeter: | |
| 158 | + | |
| 159 | + $usuario | |
| 160 | + | |
| 161 | + $novasenha | |
| 162 | + */ | |
| 163 | + case "ALTERARSENHA": | |
| 164 | + $retorno = false; | |
| 165 | + if(!empty($_POST["usuario"])){ | |
| 166 | + $retorno = alterarSenha($_POST["usuario"],$_POST["novaSenha"]); | |
| 167 | + } | |
| 168 | + cpjson($retorno); | |
| 169 | + break; | |
| 170 | +} | |
| 171 | +function alterarSenha($usuario,$novaSenha){ | |
| 172 | + include(dirname(__FILE__)."/conexao.php"); | |
| 173 | + $dados = \admin\php\funcoesAdmin\pegaDados("select * from ".$esquemaadmin."i3geousr_usuarios where senha = '".md5($_SESSION["senha"])."' and login = '$usuario' and ativo = 1",$locaplic); | |
| 174 | + if(count($dados) > 0){ | |
| 175 | + $dbhw->query("UPDATE ".$esquemaadmin."i3geousr_usuarios SET senha='".md5($novaSenha)."' WHERE login = '$usuario'"); | |
| 176 | + $_SESSION["senha"] = $novaSenha; | |
| 177 | + $to = $dados[0]["email"]; | |
| 178 | + $subject = 'nova senha i3geo'; | |
| 179 | + $message = "Sua senha foi alterada"; | |
| 180 | + mail($to, $subject, $message); | |
| 181 | + return true; | |
| 182 | + } | |
| 183 | + else{ | |
| 184 | + return false; | |
| 185 | + } | |
| 186 | +} | |
| 187 | +function recuperarSenha($usuario){ | |
| 188 | + include(dirname(__FILE__)."/conexao.php"); | |
| 189 | + $novaSenha = rand(9000,1000000); | |
| 190 | + $dados = \admin\php\funcoesAdmin\pegaDados("select * from ".$esquemaadmin."i3geousr_usuarios where login = '$usuario' and ativo = 1",$locaplic); | |
| 191 | + if(count($dados) > 0){ | |
| 192 | + $dbhw->query("UPDATE ".$esquemaadmin."i3geousr_usuarios SET senha='".md5($novaSenha)."' WHERE login = '$usuario'"); | |
| 193 | + $to = $dados[0]["email"]; | |
| 194 | + $subject = 'nova senha i3geo'; | |
| 195 | + $message = $novaSenha; | |
| 196 | + mail($to, $subject, $message); | |
| 197 | + return true; | |
| 198 | + } | |
| 199 | + else{ | |
| 200 | + return false; | |
| 201 | + } | |
| 202 | +} | |
| 203 | +// | |
| 204 | +//verifica se um determinado papel esta registrado na variavel SESSION | |
| 205 | +// | |
| 206 | +function verificaPapelSessao($id_papel){ | |
| 207 | + $resultado = false; | |
| 208 | + if(validaSessao()){ | |
| 209 | + foreach($_SESSION["papeis"] as $p){ | |
| 210 | + if($p["id_papel"] == 1 || $p["id_papel"] == $id_papel){ | |
| 211 | + return true; | |
| 212 | + } | |
| 213 | + } | |
| 214 | + } | |
| 215 | + return $resultado; | |
| 216 | +} | |
| 217 | +// | |
| 218 | +//verifica se uma determinada operacao esta registrada na variavel SESSION | |
| 219 | +// | |
| 220 | +function verificaOperacaoSessao($operacao){ | |
| 221 | + $resultado = false; | |
| 222 | + //a validacao consulta $_SESSION, que e definida no login | |
| 223 | + if(validaSessao()){ | |
| 224 | + //verifica se e administrador, caso positivo, permite qq operacao | |
| 225 | + foreach($_SESSION["papeis"] as $p){ | |
| 226 | + if($p == 1){ | |
| 227 | + return true; | |
| 228 | + } | |
| 229 | + } | |
| 230 | + if(!empty($_SESSION["operacoes"][$operacao])){ | |
| 231 | + $resultado = true; | |
| 232 | + } | |
| 233 | + } | |
| 234 | + return $resultado; | |
| 235 | +} | |
| 236 | +// | |
| 237 | +//verifica se o usuario esta logado | |
| 238 | +// | |
| 239 | +function validaSessao(){ | |
| 240 | + $fingerprint = 'I3GEOLOGIN' . $_SERVER['HTTP_USER_AGENT']; | |
| 241 | + if($_SESSION['fingerprint'] != md5($fingerprint . session_id())){ | |
| 242 | + return false; | |
| 243 | + } | |
| 244 | + if($_SESSION["usuario"] != $_COOKIE["i3geousuariologin"]){ | |
| 245 | + return false; | |
| 246 | + } | |
| 247 | + return true; | |
| 248 | +} | |
| 249 | +// | |
| 250 | +//faz a autenticacao de um usuario baseado no login e senha | |
| 251 | +//registra as operacoes, papeis e grupos do usuario na SESSION | |
| 252 | +// | |
| 253 | +function autenticaUsuario($usuario,$senha,$dir_tmp,$i3geomaster){ | |
| 254 | + include(dirname(__FILE__)."/conexao.php"); | |
| 255 | + error_reporting(0); | |
| 256 | + $senhamd5 = md5($senha); | |
| 257 | + if(function_exists("password_hash")){ | |
| 258 | + $senhaHash = password_hash($senha, PASSWORD_DEFAULT); | |
| 259 | + } | |
| 260 | + | |
| 261 | + //faz um teste de tentativas de acesso | |
| 262 | + $nomeArquivo = $dir_tmp."/a".md5($usuario."testeTentativas").intval(time() / 1000); | |
| 263 | + if(!file_exists($dir_tmp)){ | |
| 264 | + return false; | |
| 265 | + } | |
| 266 | + if(file_exists($nomeArquivo)){ | |
| 267 | + $tentativas = (int) file_get_contents($nomeArquivo); | |
| 268 | + if($tentativas > 3){ | |
| 269 | + return "muitas tentativas"; | |
| 270 | + } | |
| 271 | + $tentativas = $tentativas + 1; | |
| 272 | + file_put_contents($nomeArquivo, $tentativas); | |
| 273 | + } | |
| 274 | + else { | |
| 275 | + file_put_contents($nomeArquivo, 1); | |
| 276 | + } | |
| 277 | + | |
| 278 | + //verifica se o usuario esta cadastrado no ms_configura.php em $i3geomaster | |
| 279 | + //echo "select * from ".$esquemaadmin."i3geousr_usuarios where login = '$usuario' and (senha = '$senhamd5' or senha = '$senha') and ativo = 1";exit; | |
| 280 | + //exit; | |
| 281 | + if(\admin\php\funcoesAdmin\verificaMaster($usuario,$senha,$i3geomaster) == true){ | |
| 282 | + //$pa = pegaDados("select * from ".$esquemaadmin."i3geousr_papelusuario ",$dbh,false); | |
| 283 | + $pa = \admin\php\funcoesAdmin\pegaDados("select * from ".$esquemaadmin."i3geousr_papeis ",$dbh,false); | |
| 284 | + $op = \admin\php\funcoesAdmin\pegadados("SELECT O.codigo FROM ".$esquemaadmin."i3geousr_operacoes AS O",$dbh,false); | |
| 285 | + $gr = \admin\php\funcoesAdmin\pegadados("SELECT * from ".$esquemaadmin."i3geousr_grupos ",$dbh,false); | |
| 286 | + //var_dump($gr);exit; | |
| 287 | + $operacoes = array(); | |
| 288 | + foreach($op as $o){ | |
| 289 | + $operacoes[$o["codigo"]] = true; | |
| 290 | + } | |
| 291 | + $papeis = array(); | |
| 292 | + foreach($pa as $p){ | |
| 293 | + $papeis[] = $p["id_papel"]; | |
| 294 | + } | |
| 295 | + $gruposusr = array(); | |
| 296 | + foreach($gr as $p){ | |
| 297 | + $gruposusr[] = $p["id_grupo"]; | |
| 298 | + } | |
| 299 | + $master = array(); | |
| 300 | + $master["id_usuario"] = "master"; | |
| 301 | + $master["nome_usuario"] = "master"; | |
| 302 | + $r = array("usuario"=>$master,"papeis"=>$papeis,"operacoes"=>$operacoes,"gruposusr"=>$gruposusr); | |
| 303 | + $dbh = null; | |
| 304 | + $dbhw = null; | |
| 305 | + file_put_contents($nomeArquivo, 1); | |
| 306 | + return $r; | |
| 307 | + } | |
| 308 | + else{ | |
| 309 | + //verifica se a senha e uma string ou pode ser um md5 | |
| 310 | + $ok = false; | |
| 311 | + $dados = array(); | |
| 312 | + //por causa das versoes antigas do PHP | |
| 313 | + if(strlen($senha) == 32 || !function_exists("password_hash") ){ | |
| 314 | + $dados = \admin\php\funcoesAdmin\pegaDados("select senha,login,id_usuario,nome_usuario from ".$esquemaadmin."i3geousr_usuarios where login = '$usuario' and senha = '$senhamd5' and ativo = 1",$dbh,false); | |
| 315 | + if(count($dados) == 1 && $dados[0]["senha"] == $senhamd5 && $dados[0]["login"] == $usuario){ | |
| 316 | + $ok = true; | |
| 317 | + } | |
| 318 | + } | |
| 319 | + else{ | |
| 320 | + $usuarios = \admin\php\funcoesAdmin\pegaDados("select senha,id_usuario,nome_usuario from ".$esquemaadmin."i3geousr_usuarios where login = '$usuario' and ativo = 1",$dbh,false); | |
| 321 | + if (count($usuarios) == 1 && password_verify($senha,$usuarios[0]["senha"])){ | |
| 322 | + $ok = true; | |
| 323 | + $dados[] = array("id_usuario"=>$usuarios[0]["id_usuario"],"nome_usuario"=>$usuarios[0]["nome_usuario"]); | |
| 324 | + } | |
| 325 | + $usuarios = null; | |
| 326 | + } | |
| 327 | + if($ok == true){ | |
| 328 | + $pa = \admin\php\funcoesAdmin\pegaDados("select * from ".$esquemaadmin."i3geousr_papelusuario where id_usuario = ".$dados[0]["id_usuario"],$dbh,false); | |
| 329 | + $op = \admin\php\funcoesAdmin\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); | |
| 330 | + $gr = \admin\php\funcoesAdmin\pegadados("SELECT * from ".$esquemaadmin."i3geousr_grupousuario where id_usuario = ".$dados[0]["id_usuario"],$dbh,false); | |
| 331 | + $operacoes = array(); | |
| 332 | + foreach($op as $o){ | |
| 333 | + $operacoes[$o["codigo"]] = true; | |
| 334 | + } | |
| 335 | + $papeis = array(); | |
| 336 | + foreach($pa as $p){ | |
| 337 | + $papeis[] = $p["id_papel"]; | |
| 338 | + } | |
| 339 | + $gruposusr = array(); | |
| 340 | + foreach($gr as $p){ | |
| 341 | + $gruposusr[] = $p["id_grupo"]; | |
| 342 | + } | |
| 343 | + $r = array("usuario"=>$dados[0],"papeis"=>$papeis,"operacoes"=>$operacoes,"gruposusr"=>$gruposusr); | |
| 344 | + $dbh = null; | |
| 345 | + $dbhw = null; | |
| 346 | + file_put_contents($nomeArquivo, 1); | |
| 347 | + return $r; | |
| 348 | + } | |
| 349 | + else{ | |
| 350 | + $dbh = null; | |
| 351 | + $dbhw = null; | |
| 352 | + return false; | |
| 353 | + } | |
| 354 | + } | |
| 355 | +} | |
| 356 | +// | |
| 357 | +//faz o logout do usuario destruindo os cookies e session | |
| 358 | +// | |
| 359 | +function logoutUsuario(){ | |
| 360 | + $_COOKIE = array(); | |
| 361 | + $_SESSION = array(); | |
| 362 | + if(session_status() == PHP_SESSION_ACTIVE){ | |
| 363 | + session_destroy(); | |
| 364 | + } | |
| 365 | +} | |
| 366 | +?> | ... | ... |
classesphp/funcoes_gerais.php
| ... | ... | @@ -2716,7 +2716,7 @@ Return: |
| 2716 | 2716 | */ |
| 2717 | 2717 | function verificaPapelUsuario($id_papel) |
| 2718 | 2718 | { |
| 2719 | - include_once(dirname(__FILE__)."/../admin/php/login.php"); | |
| 2719 | + include_once(dirname(__FILE__)."/../admin1/php/login.php"); | |
| 2720 | 2720 | $r = verificaPapelSessao($id_papel); |
| 2721 | 2721 | return $r; |
| 2722 | 2722 | } |
| ... | ... | @@ -2838,7 +2838,7 @@ $salva - salva o mapfile com os layers removidos ou nao |
| 2838 | 2838 | Retorno: boolean indicando se o mapfile contem layers indevidos |
| 2839 | 2839 | */ |
| 2840 | 2840 | function validaAcessoTemas($map_file,$salva = true){ |
| 2841 | - //error_reporting(0); | |
| 2841 | + //error_reporting(E_ALL); | |
| 2842 | 2842 | $indevidos = listaLayersIndevidos($map_file); |
| 2843 | 2843 | $existeIndevidos = false; |
| 2844 | 2844 | if(count($indevidos) > 0){ |
| ... | ... | @@ -3034,7 +3034,7 @@ function restauraMapaAdmin($id_mapa,$dir_tmp){ |
| 3034 | 3034 | if (filter_var($id_mapa, FILTER_VALIDATE_INT) === false){ |
| 3035 | 3035 | exit; |
| 3036 | 3036 | } |
| 3037 | - include(dirname(__FILE__)."/classesphp/conexao.php"); | |
| 3037 | + include(dirname(__FILE__)."/conexao.php"); | |
| 3038 | 3038 | if(!empty($esquemaadmin)){ |
| 3039 | 3039 | $esquemaadmin = str_replace(".","",$esquemaadmin)."."; |
| 3040 | 3040 | } |
| ... | ... | @@ -3120,7 +3120,7 @@ Array originada de fetchAll |
| 3120 | 3120 | function pegaDadosAdminKey($sql,$subsEsquema){ |
| 3121 | 3121 | //pegaDadosAdminKey("select codigo_tema,link_tema from __esq__i3geoadmin_temas","__esq__"); |
| 3122 | 3122 | $resultado = array(); |
| 3123 | - include(dirname(__FILE__)."/classesphp/conexao.php"); | |
| 3123 | + include(dirname(__FILE__)."/conexao.php"); | |
| 3124 | 3124 | $sql = str_replace($subsEsquema,$esquemaadmin,$sql); |
| 3125 | 3125 | //error_reporting(0); |
| 3126 | 3126 | $q = $dbh->query($sql,PDO::FETCH_ASSOC); | ... | ... |
classesphp/mapa_controle.php
| ... | ... | @@ -227,7 +227,9 @@ if($funcao == "criaMapa"){ |
| 227 | 227 | //chdir($locaplic); |
| 228 | 228 | $interfaceTemp = $interface; |
| 229 | 229 | $interface = "mashup"; |
| 230 | + | |
| 230 | 231 | include_once(dirname(__FILE__)."/../ms_criamapa.php"); |
| 232 | + | |
| 231 | 233 | $_SESSION["interface"] = $interfaceTemp; |
| 232 | 234 | $temp = $_SESSION["map_file"]; |
| 233 | 235 | $id = session_id(); | ... | ... |
classesphp/sani_request.php
| ... | ... | @@ -2,6 +2,7 @@ |
| 2 | 2 | if (basename(__FILE__) == basename($_SERVER['SCRIPT_FILENAME'])){ |
| 3 | 3 | exit; |
| 4 | 4 | } |
| 5 | + | |
| 5 | 6 | //error_reporting(0); |
| 6 | 7 | $bl = array("exec ","exec(","password","select","_decode","passthru","shell_exec","escapeshellarg","escapeshellcmd","proc_close","proc_open","dl","popen","contents","delete","drop","update","insert","system",";"); |
| 7 | 8 | if (isset($_GET)){ | ... | ... |
ferramentas/animagif/manutencao.php
ferramentas/editortema/exec.php
| ... | ... | @@ -25,7 +25,7 @@ Free Software Foundation, Inc., no endere&ccedil;o |
| 25 | 25 | 59 Temple Street, Suite 330, Boston, MA 02111-1307 USA. |
| 26 | 26 | |
| 27 | 27 | */ |
| 28 | -include_once(dirname(__FILE__)."/../../admin/php/login.php"); | |
| 28 | +include_once(dirname(__FILE__)."/../../admin1/php/login.php"); | |
| 29 | 29 | |
| 30 | 30 | include(dirname(__FILE__)."/../blacklist.php"); |
| 31 | 31 | verificaBlFerramentas(basename(dirname(__FILE__)),$i3geoBlFerramentas,false); | ... | ... |
ferramentas/loginusuario/index.js
| ... | ... | @@ -225,7 +225,7 @@ i3GEOF.loginusuario = { |
| 225 | 225 | } |
| 226 | 226 | } |
| 227 | 227 | }; |
| 228 | - p = i3GEO.configura.locaplic+"/admin/php/login.php?funcao=login"; | |
| 228 | + p = i3GEO.configura.locaplic+"/admin1/php/login.php?funcao=login"; | |
| 229 | 229 | cp = new cpaint(); |
| 230 | 230 | cp.set_transfer_mode("POST"); |
| 231 | 231 | cp.set_response_type("JSON"); |
| ... | ... | @@ -246,7 +246,7 @@ i3GEOF.loginusuario = { |
| 246 | 246 | alert($trad("x31")); |
| 247 | 247 | } |
| 248 | 248 | }; |
| 249 | - p = i3GEO.configura.locaplic+"/admin/php/login.php?funcao=recuperarSenha"; | |
| 249 | + p = i3GEO.configura.locaplic+"/admin1/php/login.php?funcao=recuperarSenha"; | |
| 250 | 250 | cp = new cpaint(); |
| 251 | 251 | cp.set_transfer_mode("POST"); |
| 252 | 252 | cp.set_response_type("JSON"); |
| ... | ... | @@ -269,7 +269,7 @@ i3GEOF.loginusuario = { |
| 269 | 269 | } |
| 270 | 270 | }; |
| 271 | 271 | if(novaSenha != ""){ |
| 272 | - p = i3GEO.configura.locaplic+"/admin/php/login.php?funcao=alterarSenha"; | |
| 272 | + p = i3GEO.configura.locaplic+"/admin1/php/login.php?funcao=alterarSenha"; | |
| 273 | 273 | cp = new cpaint(); |
| 274 | 274 | cp.set_transfer_mode("POST"); |
| 275 | 275 | cp.set_response_type("JSON"); | ... | ... |
ferramentas/metaestat/templates/lib/dadosmapa.php
| ... | ... | @@ -44,7 +44,7 @@ function dadosmapa($loc=""){ |
| 44 | 44 | exit; |
| 45 | 45 | } |
| 46 | 46 | if($dadosmapa["publicado"] == "NAO"){ |
| 47 | - include($loc."/admin/php/login.php"); | |
| 47 | + include($loc."/admin1/php/login.php"); | |
| 48 | 48 | if(verificaOperacaoSessao("admin/metaestat/geral") == false){ |
| 49 | 49 | echo "O mapa nao esta marcado como publicado e vc nao fez login ou nao tem permissao"; |
| 50 | 50 | exit; | ... | ... |
ferramentas/navegapostgis/exec.php
| 1 | 1 | <?php |
| 2 | -include_once(dirname(__FILE__)."/../../admin/php/login.php"); | |
| 2 | +include_once(dirname(__FILE__)."/../../admin1/php/login.php"); | |
| 3 | 3 | include("../../ms_configura.php"); |
| 4 | 4 | include("../blacklist.php"); |
| 5 | 5 | verificaBlFerramentas(basename(dirname(__FILE__)),$i3geoBlFerramentas,false); | ... | ... |
ferramentas/storymap/manutencao.php
ferramentas/tme/manutencao.php
init/login.php
| ... | ... | @@ -147,7 +147,7 @@ include "head.php"; |
| 147 | 147 | $(window).on("scroll click", |
| 148 | 148 | function(){ |
| 149 | 149 | $("#mensagemLogin").fadeOut(300); |
| 150 | - $("#jumbotron").fadeOut(300) | |
| 150 | + $("#jumbotron").fadeOut(300); | |
| 151 | 151 | } |
| 152 | 152 | ); |
| 153 | 153 | //verifica se deve ou nao esconder a mensagem de boas vindas verificando o parametro enviado pela url | ... | ... |
js/login.js
| ... | ... | @@ -184,14 +184,14 @@ i3GEO.login = { |
| 184 | 184 | // verificacao rapida, busca apenas na sessao do usuario ja aberta |
| 185 | 185 | if (!tipo || tipo === "sessao") { |
| 186 | 186 | p = locaplic |
| 187 | - + "/admin/php/login.php?funcao=validaoperacaosessao"; | |
| 187 | + + "/admin1/php/login.php?funcao=validaoperacaosessao"; | |
| 188 | 188 | } |
| 189 | 189 | // verifica no banoc de dados, o que considera qualquer mudanca no banco |
| 190 | 190 | // feita apos o usuario ter aberto a sessao |
| 191 | 191 | //XXX implementar funcao validaoperacaobanco |
| 192 | 192 | if (tipo === "banco") { |
| 193 | 193 | p = locaplic |
| 194 | - + "/admin/php/login.php?funcao=validaoperacaobanco"; | |
| 194 | + + "/admin1/php/login.php?funcao=validaoperacaobanco"; | |
| 195 | 195 | } |
| 196 | 196 | cp = new cpaint(); |
| 197 | 197 | cp.set_response_type("JSON"); | ... | ... |
ms_criamapa.php
| ... | ... | @@ -423,7 +423,6 @@ if(!isset($i3geoPermiteLogin)){ |
| 423 | 423 | else{ |
| 424 | 424 | $i3geoPermiteLogin_ = $i3geoPermiteLogin; |
| 425 | 425 | } |
| 426 | - | |
| 427 | 426 | /* |
| 428 | 427 | Inicia a seção |
| 429 | 428 | |
| ... | ... | @@ -661,9 +660,9 @@ if(isset($url_wms)){ |
| 661 | 660 | |
| 662 | 661 | adaptaLayers($tmpfname,$versao); |
| 663 | 662 | |
| 664 | -if (file_exists($locaplic."/pacotes/geoip") && file_exists($locaplic."/pacotes/geoip/GeoLiteCity.dat")){ | |
| 665 | - require_once(dirname(__FILE__)."/ms_registraip.php"); | |
| 666 | -} | |
| 663 | +//if (file_exists($locaplic."/pacotes/geoip") && file_exists($locaplic."/pacotes/geoip/GeoLiteCity.dat")){ | |
| 664 | +// require_once(dirname(__FILE__)."/ms_registraip.php"); | |
| 665 | +//} | |
| 667 | 666 | if ($interface != "mashup"){ |
| 668 | 667 | abreInterface($interface,$caminho,$tempo); |
| 669 | 668 | } |
| ... | ... | @@ -727,8 +726,7 @@ function adaptaLayers($tmpfname,$versao){ |
| 727 | 726 | Redireciona para o HTML definido em $interface, abrindo o mapa |
| 728 | 727 | */ |
| 729 | 728 | function abreInterface($interface,$caminho,$tempo){ |
| 730 | - $nomeInterface = explode(".",basename($interface)); | |
| 731 | - //$_SESSION["interface"] = $nomeInterface[0]; | |
| 729 | + $nomeInterface = explode(".",basename($interface)); | |
| 732 | 730 | if (count(explode(".php",$interface)) > 1){ |
| 733 | 731 | if(file_exists($caminho."interface/".$interface)){ |
| 734 | 732 | include_once($caminho."interface/".$interface); |
| ... | ... | @@ -1319,31 +1317,7 @@ function incluiTemaWms() |
| 1319 | 1317 | Projeto gvsig |
| 1320 | 1318 | */ |
| 1321 | 1319 | function incluiMapaGvsig($gvsiggvp,$gvsigview=""){ |
| 1322 | - global $mapn,$locaplic; | |
| 1323 | - include_once($locaplic."/pacotes/gvsig/gvsig2mapfile/class.gvsig2mapfile.php"); | |
| 1324 | - $gm = new gvsig2mapfile($gvsiggvp); | |
| 1325 | - if(empty($gvsigview)){ | |
| 1326 | - $gvsigview = $gm->getViewsNames(); | |
| 1327 | - //$gvsigview = $gvsigview[0]; | |
| 1328 | - } | |
| 1329 | - else{ | |
| 1330 | - $gvsigview = str_replace(" ",",",$gvsigview); | |
| 1331 | - $gvsigview = explode(",",$gvsigview); | |
| 1332 | - } | |
| 1333 | - $numlayers = $mapn->numlayers; | |
| 1334 | - for ($i=0;$i < $numlayers;$i++){ | |
| 1335 | - $layer = $mapn->getlayer($i); | |
| 1336 | - $layer->set("status",MS_DELETE); | |
| 1337 | - } | |
| 1338 | - foreach($gvsigview as $v){ | |
| 1339 | - if($v != ""){ | |
| 1340 | - $dataView = $gm->getViewData($v); | |
| 1341 | - $mapn = $gm->addLayers($mapn,$gvsigview,$dataView["layerNames"]); | |
| 1342 | - } | |
| 1343 | - } | |
| 1344 | - $next = $dataView["extent"]; | |
| 1345 | - $ext = $mapn->extent; | |
| 1346 | - $ext->setextent($next[0],$next[1],$next[2],$next[3]); | |
| 1320 | + | |
| 1347 | 1321 | } |
| 1348 | 1322 | /* |
| 1349 | 1323 | Captura e mostra os erros de processamento do mapserver | ... | ... |
pacotes/yui290/build/container/container_compacto.js
100644 → 100755
pacotes/yui290/build/container/container_core_compacto.js
100644 → 100755
pacotes/yui290/build/utilities/utilities_compacto.js
100644 → 100755