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); | ... | ... |