Commit b871ac8876dd0436e27c1d37d8cae668c1b57c78
1 parent
7fbab1b0
Exists in
master
and in
7 other branches
Reformulação do código do sistema de administração para aprmoramento da segurança
Showing
12 changed files
with
106 additions
and
20 deletions
Show diff stats
admin/php/metaestat_mapa_uploadimagem.php
| 1 | 1 | <?php |
| 2 | +exit; | |
| 2 | 3 | /* |
| 3 | 4 | * Faz o upload de imagens para a pasta templates/logos |
| 4 | 5 | * Essas imagens sao utilizadas nos mapas e sao escolhidas pelo usuario no formulario de publicacao dos mapas |
| 5 | 6 | */ |
| 6 | -include_once("admin.php"); | |
| 7 | 7 | include_once("login.php"); |
| 8 | 8 | if(verificaOperacaoSessao("admin/metaestat/geral") == false){ |
| 9 | 9 | echo "Vc nao pode realizar essa operacao.";exit; |
| ... | ... | @@ -31,7 +31,6 @@ if (isset($_FILES['uploadimagem']['name'])){ |
| 31 | 31 | } |
| 32 | 32 | //sobe arquivo |
| 33 | 33 | $Arquivo = $_FILES['uploadimagem']['tmp_name']; |
| 34 | - //echo $Arquivo; | |
| 35 | 34 | $status = move_uploaded_file($Arquivo,str_replace(".png","",$arq).".png"); |
| 36 | 35 | if($status != 1) |
| 37 | 36 | {echo "<p class='paragrafo' >Ocorreu um erro no envio do arquivo. Verifique as permissoes de escrita";exit;} | ... | ... |
admin/php/metaestat_templates.php
admin/php/metaestat_uploadcsv_submit.php
| ... | ... | @@ -2,7 +2,6 @@ |
| 2 | 2 | /* |
| 3 | 3 | * Faz o upload de csv e insere no banco de dados criando uma nova tabela |
| 4 | 4 | */ |
| 5 | -include_once("admin.php"); | |
| 6 | 5 | include_once("login.php"); |
| 7 | 6 | if(verificaOperacaoSessao("admin/metaestat/editorbanco") == false){ |
| 8 | 7 | echo "Vc nao pode realizar essa operacao.";exit; |
| ... | ... | @@ -31,13 +30,18 @@ if (ob_get_level() == 0) ob_start(); |
| 31 | 30 | exit; |
| 32 | 31 | } |
| 33 | 32 | if (isset($_FILES['i3GEOuploadcsv']['name'])){ |
| 34 | - require_once (dirname(__FILE__)."/../../ms_configura.php"); | |
| 35 | 33 | echo "<p class='paragrafo' >Carregando o arquivo...</p>"; |
| 36 | 34 | ob_flush(); |
| 37 | 35 | flush(); |
| 38 | 36 | sleep(1); |
| 39 | 37 | $arqcsv = $_FILES['i3GEOuploadcsv']['tmp_name']; |
| 40 | 38 | $nomePrefixo = str_replace(" ","_",removeAcentos($_FILES['i3GEOuploadcsv']['name'])); |
| 39 | + | |
| 40 | + $nomePrefixo = str_replace(".","",$nomePrefixo); | |
| 41 | + $nomePrefixo = strip_tags($nomePrefixo); | |
| 42 | + $nomePrefixo = htmlspecialchars($nomePrefixo, ENT_QUOTES); | |
| 43 | + $nomePrefixo = $nomePrefixo . md5(uniqid(rand(), true)); | |
| 44 | + | |
| 41 | 45 | $nomePrefixo = $nomePrefixo."_".(nomeRandomico(4)).".csv"; |
| 42 | 46 | |
| 43 | 47 | $Arquivo = $_FILES['i3GEOuploadcsv']['tmp_name']; |
| ... | ... | @@ -49,6 +53,13 @@ if (ob_get_level() == 0) ob_start(); |
| 49 | 53 | echo "<p class='paragrafo' >Ocorreu algum problema no envio do arquivo ".$dir_tmp."/".$nomePrefixo;paraAguarde();exit; |
| 50 | 54 | } |
| 51 | 55 | $arqcsv = $dir_tmp."/".$nomePrefixo; |
| 56 | + | |
| 57 | + $checkphp = fileContemString($dirmap."/".$nomePrefixo,"<?"); | |
| 58 | + if($checkphp == true){ | |
| 59 | + unlink($dirmap."/".$nomePrefixo); | |
| 60 | + exit; | |
| 61 | + } | |
| 62 | + | |
| 52 | 63 | //pega os parametros de conexao |
| 53 | 64 | include("classe_metaestat.php"); |
| 54 | 65 | $m = new Metaestat(); | ... | ... |
admin/php/metaestat_uploaddados_submit.php
| ... | ... | @@ -2,12 +2,25 @@ |
| 2 | 2 | $colunasarquivo = ""; |
| 3 | 3 | $nomearquivoserv = ""; |
| 4 | 4 | error_reporting(0); |
| 5 | -//var_dump($_FILES);exit; | |
| 5 | +include_once(dirname(__FILE__)."/login.php"); | |
| 6 | 6 | if (isset($_FILES['i3GEOuploadArquivo']['name'])) |
| 7 | -{ | |
| 8 | - require_once (dirname(__FILE__)."/../../ms_configura.php"); | |
| 7 | +{ | |
| 9 | 8 | $Arquivoup = $_FILES['i3GEOuploadArquivo']['tmp_name']; |
| 10 | - $nomearquivoserv = $dir_tmp."/upload".basename($Arquivoup).".csv"; | |
| 9 | + | |
| 10 | + $nomePrefixo = str_replace(" ","_",str_replace(".csv","",$_FILES['i3GEOuploadArquivo']['name'])); | |
| 11 | + $nomePrefixo = str_replace(".","",$nomePrefixo); | |
| 12 | + $nomePrefixo = strip_tags($nomePrefixo); | |
| 13 | + $nomePrefixo = htmlspecialchars($nomePrefixo, ENT_QUOTES); | |
| 14 | + $nomePrefixo = $nomePrefixo . md5(uniqid(rand(), true)); | |
| 15 | + | |
| 16 | + $nomearquivoserv = $dir_tmp."/uploaddados".$nomePrefixo.".csv"; | |
| 17 | + | |
| 18 | + $checkphp = fileContemString($nomearquivoserv,"<?"); | |
| 19 | + if($checkphp == true){ | |
| 20 | + unlink($nomearquivoserv); | |
| 21 | + exit; | |
| 22 | + } | |
| 23 | + | |
| 11 | 24 | //echo $nomearquivoserv; |
| 12 | 25 | if(file_exists($nomearquivoserv)){ |
| 13 | 26 | unlink($nomearquivoserv); |
| ... | ... | @@ -34,10 +47,12 @@ if (isset($_FILES['i3GEOuploadArquivo']['name'])) |
| 34 | 47 | <script> |
| 35 | 48 | |
| 36 | 49 | <?php echo "c = '$colunasarquivo';";?> |
| 37 | -<?php echo "d = '$nomearquivoserv';";?> | |
| 50 | +<?php | |
| 51 | +//echo "d = '$nomearquivoserv';"; | |
| 52 | +echo "d = '';"; | |
| 53 | +?> | |
| 38 | 54 | window.parent.i3GEOadmin.uploaddados.COLUNASARQUIVO = c; |
| 39 | 55 | window.parent.i3GEOadmin.uploaddados.NOMEARQUIVOSERV = d; |
| 40 | 56 | window.parent.i3GEOadmin.uploaddados.upload.fimsubmit(); |
| 41 | - | |
| 42 | 57 | </script> |
| 43 | 58 | </html> |
| 44 | 59 | \ No newline at end of file | ... | ... |
admin/php/metaestat_uploadshp_submit.php
| ... | ... | @@ -2,7 +2,6 @@ |
| 2 | 2 | /* |
| 3 | 3 | * Faz o upload de shapefile e insere no banco de dados |
| 4 | 4 | */ |
| 5 | -include_once("admin.php"); | |
| 6 | 5 | include_once("login.php"); |
| 7 | 6 | set_time_limit(0); |
| 8 | 7 | if(verificaOperacaoSessao("admin/metaestat/editorbanco") == false){ |
| ... | ... | @@ -37,15 +36,25 @@ if ($_FILES['i3GEOuploadshp']['name'] == ""){ |
| 37 | 36 | } |
| 38 | 37 | if (isset($_FILES['i3GEOuploadshp']['name'])){ |
| 39 | 38 | require_once (dirname(__FILE__)."/../../ms_configura.php"); |
| 39 | + if(isset($logExec) && $logExec["upload"] == true){ | |
| 40 | + i3GeoLog("prog: metaestat_uploadshp_submit filename:" . $_FILES['i3GEOuploadshp']['name'],$dir_tmp); | |
| 41 | + } | |
| 42 | + | |
| 40 | 43 | echo "<p class='paragrafo' >Carregando o arquivo...</p>"; |
| 41 | 44 | ob_flush(); |
| 42 | 45 | flush(); |
| 43 | 46 | sleep(1); |
| 47 | + | |
| 48 | + | |
| 44 | 49 | $arqshp = $_FILES['i3GEOuploadshp']['tmp_name']; |
| 45 | 50 | //verifica nomes e sobe arquivo |
| 46 | 51 | verificaNome($_FILES['i3GEOuploadshp']['name'],"shp"); |
| 47 | 52 | $nomePrefixo = str_replace(" ","_",removeAcentos(str_replace(".shp","",$_FILES['i3GEOuploadshp']['name']))); |
| 48 | - $nomePrefixo = $nomePrefixo."_".(nomeRandomico(4)); | |
| 53 | + | |
| 54 | + $nomePrefixo = str_replace(".","",$nomePrefixo); | |
| 55 | + $nomePrefixo = strip_tags($nomePrefixo); | |
| 56 | + $nomePrefixo = htmlspecialchars($nomePrefixo, ENT_QUOTES); | |
| 57 | + $nomePrefixo = $nomePrefixo . md5(uniqid(rand(), true)); | |
| 49 | 58 | |
| 50 | 59 | $Arquivo = $_FILES['i3GEOuploadshp']['tmp_name']; |
| 51 | 60 | $status = move_uploaded_file($Arquivo,$dir_tmp."/".$nomePrefixo.".shp"); |
| ... | ... | @@ -73,6 +82,32 @@ if (isset($_FILES['i3GEOuploadshp']['name'])){ |
| 73 | 82 | echo "<p class='paragrafo' >Ocorreu algum problema no envio do arquivo ".$dir_tmp."/".$nomePrefixo;paraAguarde(); |
| 74 | 83 | exit; |
| 75 | 84 | } |
| 85 | + | |
| 86 | + $checkphp = fileContemString($dirmap."/".$nomePrefixo.".prj","<?"); | |
| 87 | + if($checkphp == true){ | |
| 88 | + unlink($dirmap."/".$nomePrefixo.".prj"); | |
| 89 | + unlink($dirmap."/".$nomePrefixo.".shx"); | |
| 90 | + unlink($dirmap."/".$nomePrefixo.".dbf"); | |
| 91 | + unlink($dirmap."/".$nomePrefixo.".shp"); | |
| 92 | + exit; | |
| 93 | + } | |
| 94 | + $checkphp = fileContemString($dirmap."/".$nomePrefixo.".shx","<?"); | |
| 95 | + if($checkphp == true){ | |
| 96 | + unlink($dirmap."/".$nomePrefixo.".prj"); | |
| 97 | + unlink($dirmap."/".$nomePrefixo.".shx"); | |
| 98 | + unlink($dirmap."/".$nomePrefixo.".dbf"); | |
| 99 | + unlink($dirmap."/".$nomePrefixo.".shp"); | |
| 100 | + exit; | |
| 101 | + } | |
| 102 | + $checkphp = fileContemString($dirmap."/".$nomePrefixo.".dbf","<?"); | |
| 103 | + if($checkphp == true){ | |
| 104 | + unlink($dirmap."/".$nomePrefixo.".prj"); | |
| 105 | + unlink($dirmap."/".$nomePrefixo.".shx"); | |
| 106 | + unlink($dirmap."/".$nomePrefixo.".dbf"); | |
| 107 | + unlink($dirmap."/".$nomePrefixo.".shp"); | |
| 108 | + exit; | |
| 109 | + } | |
| 110 | + | |
| 76 | 111 | $arqshp = $dir_tmp."/".$nomePrefixo.".shp"; |
| 77 | 112 | |
| 78 | 113 | //pega os parametros de conexao |
| ... | ... | @@ -363,6 +398,9 @@ else{ |
| 363 | 398 | echo "<p class='paragrafo' >Erro ao enviar o arquivo. Talvez o tamanho do arquivo seja maior do que o permitido.</p>"; |
| 364 | 399 | } |
| 365 | 400 | function verificaNome($nome,$ext){ |
| 401 | + if(strlen(basename($nome)) > 200){ | |
| 402 | + exit; | |
| 403 | + } | |
| 366 | 404 | $nome = strtolower($nome); |
| 367 | 405 | $lista = explode(".",$nome); |
| 368 | 406 | $extensao = $lista[count($lista) - 1]; | ... | ... |
ferramentas/aplicarsld/upload.php
| ... | ... | @@ -41,7 +41,10 @@ if (isset($_FILES['i3GEOaplicarsld']['name']) && strlen(basename($_FILES['i3GEOa |
| 41 | 41 | |
| 42 | 42 | $ArquivoDest = $ArquivoDest . md5(uniqid(rand(), true)); |
| 43 | 43 | |
| 44 | - $ArquivoDest = str_replace(".sld","",$ArquivoDest).".sld"; | |
| 44 | + $ArquivoDest = str_replace(".sld","",$ArquivoDest); | |
| 45 | + $ArquivoDest = str_replace(".","",$ArquivoDest).".sld"; | |
| 46 | + | |
| 47 | + | |
| 45 | 48 | verificaNome($ArquivoDest); |
| 46 | 49 | |
| 47 | 50 | //sobe arquivo | ... | ... |
ferramentas/importarwmc/upload.php
| ... | ... | @@ -33,7 +33,9 @@ if(isset($_FILES['i3GEOimportarwmc']['name']) && !($_POST["i3GEOimportarwmcurl"] |
| 33 | 33 | //verifica nomes |
| 34 | 34 | $ArquivoDest = $_FILES['i3GEOimportarwmc']['name']; |
| 35 | 35 | $ArquivoDest = $ArquivoDest . md5(uniqid(rand(), true)); |
| 36 | - $ArquivoDest = str_replace(".xml","",$ArquivoDest).".xml"; | |
| 36 | + | |
| 37 | + $ArquivoDest = str_replace(".xml","",$ArquivoDest); | |
| 38 | + $ArquivoDest = str_replace(".","",$ArquivoDest).".xml"; | |
| 37 | 39 | |
| 38 | 40 | $ArquivoDest = strip_tags($ArquivoDest); |
| 39 | 41 | $ArquivoDest = htmlspecialchars($ArquivoDest, ENT_QUOTES); | ... | ... |
ferramentas/upload/upload.php
| ... | ... | @@ -67,9 +67,9 @@ if (isset($_FILES['i3GEOuploadshp']['name'])) |
| 67 | 67 | //remove acentos |
| 68 | 68 | $nomePrefixo = str_replace(" ","_",removeAcentos(str_replace(".shp","",$_FILES['i3GEOuploadshp']['name']))); |
| 69 | 69 | |
| 70 | + $nomePrefixo = str_replace(".","",$nomePrefixo); | |
| 70 | 71 | $nomePrefixo = strip_tags($nomePrefixo); |
| 71 | 72 | $nomePrefixo = htmlspecialchars($nomePrefixo, ENT_QUOTES); |
| 72 | - | |
| 73 | 73 | $nomePrefixo = $nomePrefixo . md5(uniqid(rand(), true)); |
| 74 | 74 | |
| 75 | 75 | //sobe arquivo |
| ... | ... | @@ -104,14 +104,26 @@ if (isset($_FILES['i3GEOuploadshp']['name'])) |
| 104 | 104 | |
| 105 | 105 | $checkphp = fileContemString($dirmap."/".$nomePrefixo.".prj","<?"); |
| 106 | 106 | if($checkphp == true){ |
| 107 | + unlink($dirmap."/".$nomePrefixo.".shp"); | |
| 108 | + unlink($dirmap."/".$nomePrefixo.".dbf"); | |
| 109 | + unlink($dirmap."/".$nomePrefixo.".shx"); | |
| 110 | + unlink($dirmap."/".$nomePrefixo.".prj"); | |
| 107 | 111 | exit; |
| 108 | 112 | } |
| 109 | 113 | $checkphp = fileContemString($dirmap."/".$nomePrefixo.".shx","<?"); |
| 110 | 114 | if($checkphp == true){ |
| 115 | + unlink($dirmap."/".$nomePrefixo.".shp"); | |
| 116 | + unlink($dirmap."/".$nomePrefixo.".dbf"); | |
| 117 | + unlink($dirmap."/".$nomePrefixo.".shx"); | |
| 118 | + unlink($dirmap."/".$nomePrefixo.".prj"); | |
| 111 | 119 | exit; |
| 112 | 120 | } |
| 113 | 121 | $checkphp = fileContemString($dirmap."/".$nomePrefixo.".dbf","<?"); |
| 114 | 122 | if($checkphp == true){ |
| 123 | + unlink($dirmap."/".$nomePrefixo.".shp"); | |
| 124 | + unlink($dirmap."/".$nomePrefixo.".dbf"); | |
| 125 | + unlink($dirmap."/".$nomePrefixo.".shx"); | |
| 126 | + unlink($dirmap."/".$nomePrefixo.".prj"); | |
| 115 | 127 | exit; |
| 116 | 128 | } |
| 117 | 129 | ... | ... |
ferramentas/uploaddbf/upload.php
| ... | ... | @@ -50,10 +50,12 @@ if (isset($_FILES['i3GEOuploaddbffile']['name']) && strlen(basename($_FILES['i3G |
| 50 | 50 | $ArquivoDest = $ArquivoDest . md5(uniqid(rand(), true)); |
| 51 | 51 | |
| 52 | 52 | if($_GET["i3GEOuploaddbftipoarquivo"] != "dbf"){ |
| 53 | - $ArquivoDest = str_replace(".csv","",$ArquivoDest).".csv"; | |
| 53 | + $ArquivoDest = str_replace(".csv","",$ArquivoDest); | |
| 54 | + $ArquivoDest = str_replace(".","",$ArquivoDest).".csv"; | |
| 54 | 55 | } |
| 55 | 56 | else{ |
| 56 | - $ArquivoDest = str_replace(".dbf","",$ArquivoDest).".dbf"; | |
| 57 | + $ArquivoDest = str_replace(".dbf","",$ArquivoDest); | |
| 58 | + $ArquivoDest = str_replace(".","",$ArquivoDest).".dbf"; | |
| 57 | 59 | } |
| 58 | 60 | |
| 59 | 61 | $ArquivoDest = strip_tags($ArquivoDest); | ... | ... |
ferramentas/uploadgpx/upload.php
| ... | ... | @@ -44,7 +44,8 @@ if (isset($_FILES['i3GEOuploadgpx']['name']) && strlen(basename($_FILES['i3GEOup |
| 44 | 44 | //verifica nomes |
| 45 | 45 | $ArquivoDest = $_FILES['i3GEOuploadgpx']['name']; |
| 46 | 46 | $ArquivoDest = $ArquivoDest . md5(uniqid(rand(), true)); |
| 47 | - $ArquivoDest = str_replace(".gpx","",$ArquivoDest).".gpx"; | |
| 47 | + $ArquivoDest = str_replace(".gpx","",$ArquivoDest); | |
| 48 | + $ArquivoDest = str_replace(".","",$ArquivoDest).".gpx"; | |
| 48 | 49 | |
| 49 | 50 | $ArquivoDest = strip_tags($ArquivoDest); |
| 50 | 51 | $ArquivoDest = htmlspecialchars($ArquivoDest, ENT_QUOTES); | ... | ... |
ferramentas/uploadkml/upload.php
| ... | ... | @@ -45,7 +45,8 @@ if (isset($_FILES['i3GEOuploadkml']['name']) && strlen(basename($_FILES['i3GEOup |
| 45 | 45 | //verifica nomes |
| 46 | 46 | $ArquivoDest = $_FILES['i3GEOuploadkml']['name']; |
| 47 | 47 | $ArquivoDest = $ArquivoDest . md5(uniqid(rand(), true)); |
| 48 | - $ArquivoDest = str_replace(".kml","",$ArquivoDest).".kml"; | |
| 48 | + $ArquivoDest = str_replace(".kml","",$ArquivoDest); | |
| 49 | + $ArquivoDest = str_replace(".","",$ArquivoDest).".kml"; | |
| 49 | 50 | |
| 50 | 51 | $ArquivoDest = strip_tags($ArquivoDest); |
| 51 | 52 | $ArquivoDest = htmlspecialchars($ArquivoDest, ENT_QUOTES); | ... | ... |
ferramentas/uploadsimbolo/upload.php
| ... | ... | @@ -52,7 +52,8 @@ if (isset($_FILES['i3GEOuploadsimboloarq']['name']) && strlen(basename($_FILES[' |
| 52 | 52 | |
| 53 | 53 | $nome = basename($_FILES['i3GEOuploadsimboloarq']['name']); |
| 54 | 54 | |
| 55 | - $nome = str_replace(".png","",$nome).".png"; | |
| 55 | + $nome = str_replace(".png","",$nome); | |
| 56 | + $nome = str_replace(".","",$nome).".png"; | |
| 56 | 57 | |
| 57 | 58 | $nome = strip_tags($nome); |
| 58 | 59 | $nome = htmlspecialchars($nome, ENT_QUOTES); | ... | ... |