Commit 66979c9a19c38eb717de863a619010b0c0aae197

Authored by Edmar Moretti
1 parent 3dd956b9

atualização storymap

classesphp/mapa_controle.php
... ... @@ -121,21 +121,50 @@ $interfaceTemp = $interface;
121 121 //
122 122 if ($funcao != "pegaTodosTemas" && $funcao != "download3" && $funcao != "listainterfaces" && $funcao != "pegalistadetemas" && $funcao != "pegalistadeSubgrupos" && $funcao != "procurartemasestrela" && $funcao != "pegalistadegrupos" && $funcao != "pegalistademenus" && $funcao != "criaMapa" && strtoupper($funcao) != "TEMA2SLD" && strtoupper($funcao) != "PEGAMAPAS"){
123 123 session_name("i3GeoPHP");
124   - if (isset($g_sid) && $g_sid != "")
125   - {
  124 + if (isset($g_sid) && $g_sid != ""){
126 125 session_id($g_sid);
127 126 }
128 127 session_start();
129 128 foreach(array_keys($_SESSION) as $k){
130   - if(!is_array($_SESSION[$k]))
131   - eval("\$".$k."='".$_SESSION[$k]."';");
  129 + if(!is_array($_SESSION[$k])){
  130 + //eval("\$".$k."='".$_SESSION[$k]."';");
  131 + }
132 132 }
  133 + $statusFerramentas = $_SESSION["statusFerramentas"];
  134 + $imgurl = $_SESSION["imgurl"];
  135 + $tmpurl = $_SESSION["tmpurl"];
  136 + $map_file = $_SESSION["map_file"];
  137 + $mapext = $_SESSION["mapext"];
  138 + $dir_tmp = $_SESSION["dir_tmp"] ;
  139 + $cachedir = $_SESSION["cachedir"];
  140 + $emailInstituicao = $_SESSION["emailInstituicao"];
  141 + $locmapserv = $_SESSION["locmapserv"];
  142 + $locaplic = $_SESSION["locaplic"];
  143 + $R_path = $_SESSION["R_path"];
  144 + $mapext = $_SESSION["mapext"];
  145 + $debug = $_SESSION["debug"];
  146 + $ler_extensoes = $_SESSION["ler_extensoes"];
  147 + $postgis_mapa = $_SESSION["postgis_mapa"];
  148 + $perfil = $_SESSION["perfil"];
  149 + $navegadoresLocais = $_SESSION["navegadoresLocais"];
  150 + $utilizacgi = $_SESSION["utilizacgi"];
  151 + $tituloInstituicao = $_SESSION["tituloInstituicao"];
  152 + $expoeMapfile = $_SESSION["expoeMapfile"];
  153 + $googleApiKey = $_SESSION["googleApiKey"];
  154 + $mensagemInicia = $_SESSION["mensagemInicia"];
  155 + $interfacePadrao = $_SESSION["interfacePadrao"];
  156 + $interface = $_SESSION["interface"];
  157 + $kmlurl = $_SESSION["kmlurl"];
  158 + $mapdir = $_SESSION["mapdir"];
  159 + $imgdir = $_SESSION["imgdir"];
  160 + $contadorsalva = $_SESSION["contadorsalva"];
  161 + $i3georendermode = $_SESSION["i3georendermode"];
  162 + $saikuUrl = $_SESSION["saikuUrl"];
133 163 //sao arrays
134 164 $postgis_mapa = $_SESSION["postgis_mapa"];
135 165 $statusFerramentas = $_SESSION["statusFerramentas"];
136   - if(isset($fingerprint)) {
137   - //if (md5('I3GEOSEC' . $_SERVER['HTTP_USER_AGENT'] . session_id()) != $fingerprint)
138   - $f = explode(",",$fingerprint);
  166 + if(isset($_SESSION['fingerprint'])) {
  167 + $f = explode(",",$_SESSION['fingerprint']);
139 168 if($f[0] != md5('I3GEOSEC' . $_SERVER['HTTP_USER_AGENT'] . session_id())){
140 169 include_once("funcoes_gerais.php");
141 170 cpjson(". Tentativa de acesso nao permitida. Inicie um novo mapa.");
... ...
classesphp/sani_request.php 0 → 100755
... ... @@ -0,0 +1,58 @@
  1 +<?php
  2 +if (basename(__FILE__) == basename($_SERVER['SCRIPT_FILENAME'])){
  3 + exit;
  4 +}
  5 +error_reporting(0);
  6 +$bl = array("_decode","php","eval","passthru","shell_exec","escapeshellarg","escapeshellcmd","proc_close","proc_open","dl","popen","contents","delete","drop","update","insert","exec","system",";");
  7 +if (isset($_GET)){
  8 + foreach(array_keys($_GET) as $k) {
  9 + $k = str_ireplace($bl,"",$k);
  10 + $k = filter_var($k, FILTER_SANITIZE_STRING);
  11 + if ($_GET[$k] != "''"){
  12 + $v = strip_tags($_GET[$k]);
  13 + $v = str_ireplace($bl,"",$v);
  14 + $_GET[$k] = trim($v);
  15 + }
  16 + }
  17 +}
  18 +if (isset($_POST)){
  19 + foreach(array_keys($_POST) as $k){
  20 + $k = str_ireplace($bl,"",$k);
  21 + $k = filter_var($k, FILTER_SANITIZE_STRING);
  22 + $_POST[$k] = str_ireplace($bl,"",$_POST[$k]);
  23 + if (($_POST[$k] != "''")){
  24 + $_POST[$k] = strip_tags(trim($_POST[$k]));
  25 + }
  26 +
  27 + if (($_POST[$k] != "''") && ($k == "cpaint_argument"))
  28 + {
  29 + foreach($_POST["cpaint_argument"] as $argumento_)
  30 + {
  31 + if (strtoupper(substr(PHP_OS, 0, 3) == 'WIN'))
  32 + {$argumento_ = str_replace("\\\"","",$argumento_);}
  33 + else
  34 + {$argumento_ = str_replace("\"","",$argumento_);}
  35 + $argumento_ = explode('"',$argumento_);
  36 + $argumento_ = implode("&",$argumento_);
  37 + $parametros_ = explode("&",$argumento_);
  38 + foreach($parametros_ as $parametro_)
  39 + {
  40 + $p_ = explode("=",$parametro_);
  41 + $parametro = $p_[0];
  42 + $p_ = array_slice($p_, 1, count($p_));
  43 + $valor_ = implode("=",$p_);
  44 + if($parametro != ""){
  45 + $valor_ = str_replace("'","*#*",$valor_);
  46 + $valor_ = trim($valor_);
  47 + $parametro = filter_var($parametro, FILTER_SANITIZE_STRING);
  48 + $valor = filter_var($valor, FILTER_SANITIZE_STRING);
  49 + $_POST[$parametro] = str_replace('*#*',"'",$valor_);
  50 + //eval("\$".$parametro."='".(trim($valor_))."';");
  51 + //eval("\$".$parametro."=str_replace('*#*','\'',\$".$parametro.");");
  52 + }
  53 + }
  54 + }
  55 + }
  56 + }
  57 +}
  58 +?>
0 59 \ No newline at end of file
... ...
ferramentas/parametrossql/exec.php
... ... @@ -129,6 +129,9 @@ switch (strtoupper($funcao))
129 129 * Utilizado para pegar a lista de valores que sera apresentada ao usuario
130 130 */
131 131 case "INCLUDEPROG":
  132 + //evita redirecoina o programa para algum lugar indevido
  133 + $prog = str_replace(".","",$prog);
  134 + $prog = $prog.".php";
132 135 if(file_exists($locaplic."/".$prog)){
133 136 include($locaplic."/".$prog);
134 137 }
... ...
ferramentas/storymap/default.php
1 1 <?php
  2 +exit;
2 3 //exemplo: http://localhost/i3geo/ferramentas/storymap/default.php?tema=_lreal&layers=_lbiomashp _llocali
3 4 //temas do i3geo podem ser incluidos em &layers separados por espacos
4 5 if(empty($_GET["tema"])){
... ...
ferramentas/storymap/manutencao.php
1 1 <?php
  2 +exit;
2 3 include_once(dirname(__FILE__)."/../inicia.php");
3 4 include_once(dirname(__FILE__)."/../../admin/php/login.php");
4 5 $funcoesEdicao = array(
... ...
ms_criamapa.php
... ... @@ -77,7 +77,7 @@ desligar - lista com os nomes dos temas que ser&amp;atilde;o for&amp;ccedil;ados a inici
77 77  
78 78 mapext - extensao geografica que ser&aacute; utilizada. Por padr&atilde;o, a extens&atilde;o geogr&aacute;fica &eacute; definida para abranger o Brasil todo. Para alterar o padr&atilde;o deve-se utilizar o par&acirc;metro mapext para especificar a nova abrang&ecirc;ncia. Essa abrang&ecirc;ncia deve ser definida em coordenadas no formato d&eacute;cimos de grau e na proje&ccedil;&atilde;o geogr&aacute;fica. Exemplo: &mapext=-54 -30 -50 -12. Observe que a ordem dos valores s&atilde;o xmin ymin xmax ymax
79 79  
80   -executa - programa ou fun&ccedil;&atilde;o em php que ser&aacute; executado via include. O include &eacute; feito no final do processo de inicializa&ccedil;&atilde;o quando a vari&aacute;vel $tmpfname j&aacute; est&aacute; definida. Essa vari&aacute;vel guarda o nome do arquivo mapfile que ser&aacute; utilizado pelo i3geo.
  80 +executa - (depreciado) programa ou fun&ccedil;&atilde;o em php que ser&aacute; executado via include. O include &eacute; feito no final do processo de inicializa&ccedil;&atilde;o quando a vari&aacute;vel $tmpfname j&aacute; est&aacute; definida. Essa vari&aacute;vel guarda o nome do arquivo mapfile que ser&aacute; utilizado pelo i3geo.
81 81  
82 82 interface - nome da interface que ser&aacute; utilizada para abrir o mapa. As interfaces s&atilde;o arquivos HTML que podem estar no diret&oacute;rio aplicmap. Por default, utiliza-se o geral.htm. Vc pode copiar esse html e alter&aacute;-lo para customizar o mapa. Para chamar o html customizado, utilize ms_criamapa.php?interface=meumapa.htm
83 83  
... ... @@ -156,8 +156,6 @@ desligar - lista com os nomes dos temas que ser&amp;atilde;o for&amp;ccedil;ados a inici
156 156  
157 157 mapext - extensao geografica que ser&aacute; utilizada. Por padr&atilde;o, a extens&atilde;o geogr&aacute;fica &eacute; definida para abranger o Brasil todo. Para alterar o padr&atilde;o deve-se utilizar o par&acirc;metro mapext para especificar a nova abrang&ecirc;ncia. Essa abrang&ecirc;ncia deve ser definida em coordenadas no formato d&eacute;cimos de grau e na proje&ccedil;&atilde;o geogr&aacute;fica. Exemplo: &mapext=-54 -30 -50 -12. Observe que a ordem dos valores s&atilde;o xmin ymin xmax ymax
158 158  
159   -executa - programa ou fun&ccedil;&atilde;o em php que ser&aacute; executado via include. O include &eacute; feito no final do processo de inicializa&ccedil;&atilde;o quando a vari&aacute;vel $tmpfname j&aacute; est&aacute; definida. Essa vari&aacute;vel guarda o nome do arquivo mapfile que ser&aacute; utilizado pelo i3geo.
160   -
161 159 interface - nome da interface que ser&aacute; utilizada para abrir o mapa. As interfaces s&atilde;o arquivos HTML que podem estar no diret&oacute;rio aplicmap. Por default, utiliza-se o geral.htm. Vc pode copiar esse html e alter&aacute;-lo para customizar o mapa. Para chamar o html customizado, utilize ms_criamapa.php?interface=meumapa.htm
162 160  
163 161 perfil - perfil utilizado para restringir os menus de temas. ms_criamapa.php?perfil=usu&aacute;rio1
... ... @@ -226,42 +224,57 @@ filtros - filtros podem ser adicionados incluindo o parametro da seguinte forma:
226 224 //quando $funcao existe, &eacute; pq o ms_criamapa.php est&aacute; sendo utilizado como um include em classesphp/mapa_controle.php
227 225 //
228 226 ms_ResetErrorList();
  227 +if(!isset($funcao)){
  228 + ob_end_clean();
  229 + /*
  230 + Carrega as extens&otilde;es PHP
  231 +
  232 + Carrega as extens&otilde;es utilizadas no programa de inicializa&ccedil;&atilde;o.
  233 + A carga das extens&otilde;es geralmente &eacute; necess&aacute;ria nas instala&ccedil;&otilde;es windows (ms4w) ou quando as mesmas n&atilde;o s&atilde;o carregadas pela pr&oacute;pria inicializa&ccedil;&atilde;o do PHP.
  234 + */
  235 + include_once (dirname(__FILE__)."/classesphp/carrega_ext.php");
  236 + /*
  237 + Include dos arquivos PHP.
  238 +
  239 + Inclui os programas php com fun&ccedil;&otilde;es utilizadas pelo ms_criamapa.php
  240 + */
  241 + include_once (dirname(__FILE__)."/classesphp/sani_request.php");
  242 + $base = $parurl["base"];
  243 + $temasa = $parurl["temasa"];
  244 + $layers = $parurl["layers"];
  245 + $desligar = $parurl["desligar"];
  246 + $mapext = $parurl["mapext"];
  247 + $executa = "";//$parurl["executa"];
  248 + $interface = $parurl["interface"];
  249 + $perfil = $parurl["perfil"];
  250 + $caminho = $parurl["caminho"];
  251 + $pontos = $parurl["pontos"];
  252 + $nometemapontos = $parurl["nometemapontos"];
  253 + $linhas = $parurl["linhas"];
  254 + $nometemalinhas = $parurl["nometemalinhas"];
  255 + $poligonos = $parurl["poligonos"];
  256 + $nometemapoligonos = $parurl["nometemapoligonos"];
  257 + $simbolo = $parurl["simbolo"];
  258 + $corsimbolo = $parurl["corsimbolo"];
  259 + $tamanhosimbolo = $parurl["tamanhosimbolo"];
  260 + $wkt = $parurl["wkt"];
  261 + $nometemawkt = $parurl["nometemawkt"];
  262 + $idioma = $parurl["idioma"];
  263 + $kmlurl = $parurl["kmlurl"];
  264 + $url_wms = $parurl["url_wms"];
  265 + $layer_wms = $parurl["layer_wms"];
  266 + $style_wms = $parurl["style_wms"];
  267 + $nome_wms = $parurl["nome_wms"];
  268 + $srs_wms = $parurl["srs_wms"];
  269 + $image_wms = $parurl["image_wms"];
  270 + $versao_wms = $parurl["versao_wms"];
  271 + $gvsigview = $parurl["gvsigview"];
  272 + $restauramapa = $parurl["restauramapa"];
  273 +}
229 274 $parurl = array_merge($_GET,$_POST);
230   -if (!isset($parurl["debug"]))
231   -{error_reporting(0);$debug="nao";}
232   -else
233   -{error_reporting(0);$debug="sim";}
234   -if(!isset($funcao))
235   -{ob_end_clean();}
236   -/*
237   -Carrega as extens&otilde;es PHP
238   -
239   -Carrega as extens&otilde;es utilizadas no programa de inicializa&ccedil;&atilde;o.
240   -A carga das extens&otilde;es geralmente &eacute; necess&aacute;ria nas instala&ccedil;&otilde;es windows (ms4w) ou quando as mesmas n&atilde;o s&atilde;o carregadas pela pr&oacute;pria inicializa&ccedil;&atilde;o do PHP.
241   -*/
242   -include_once (dirname(__FILE__)."/classesphp/carrega_ext.php");
243   -/*
244   -Include dos arquivos PHP.
245   -
246   -Inclui os programas php com fun&ccedil;&otilde;es utilizadas pelo ms_criamapa.php
247   -*/
248   -include_once (dirname(__FILE__)."/classesphp/pega_variaveis.php");
249 275 include_once (dirname(__FILE__)."/classesphp/funcoes_gerais.php");
250 276 $versao = versao();
251 277 $versao = $versao["principal"];
252   -//
253   -//verifica a sessao que controla o login do usuario
254   -//
255   -/*
256   -session_name("i3GeoLogin");
257   -session_start();
258   -if(empty($_SESSION["usuario"])){
259   - setcookie("i3geocodigologin", session_id());
260   - setcookie("i3geousuariologin", "");
261   - setcookie("i3GeoLogin", "");
262   - session_destroy();
263   -}
264   -*/
265 278  
266 279 //
267 280 //a vari&aacute;vel $base pode ser definida em ms_configura, mas a prefer&ecirc;ncia &eacute; pela defini&ccedil;&atilde;o j&aacute; existente
... ... @@ -407,11 +420,8 @@ $_SESSION[&quot;cachedir&quot;] = $cachedir_;
407 420 $_SESSION["emailInstituicao"] = $emailInstituicao_;
408 421 $_SESSION["locmapserv"] = $locmapserv_;
409 422 $_SESSION["locaplic"] = $locaplic_;
410   -//$_SESSION["locsistemas"] = $locsistemas_;
411   -//$_SESSION["locidentifica"] = $locidentifica_;
412 423 $_SESSION["R_path"] = $R_path_;
413 424 $_SESSION["mapext"] = $mapext_;
414   -
415 425 $_SESSION["debug"] = $debug_;
416 426 $_SESSION["ler_extensoes"] = $ler_extensoes_;
417 427 $_SESSION["postgis_mapa"] = $postgis_mapa_;
... ... @@ -419,15 +429,16 @@ $_SESSION[&quot;perfil&quot;] = $perfil_;
419 429 $_SESSION["navegadoresLocais"] = $navegadoresLocais_;
420 430 $_SESSION["utilizacgi"] = $utilizacgi_;
421 431 $_SESSION["tituloInstituicao"] = $tituloInstituicao_;
422   -//$_SESSION["atlasxml"] = $atlasxml;
423 432 $_SESSION["expoeMapfile"] = $expoeMapfile;
424 433 $_SESSION["googleApiKey"] = $googleApiKey_;
425 434 $_SESSION["mensagemInicia"] = $mensagemInicia_;
426 435 $_SESSION["interfacePadrao"] = $interfacePadrao_;
427   -if(isset($interface_))
428   -$_SESSION["interface"] = $interface_;
429   -if(isset($kmlurl_))
430   -$_SESSION["kmlurl"] = $kmlurl_;
  436 +if(isset($interface_)){
  437 + $_SESSION["interface"] = $interface_;
  438 +}
  439 +if(isset($kmlurl_)){
  440 + $_SESSION["kmlurl"] = $kmlurl_;
  441 +}
431 442 //rotina de seguran&ccedil;a, ver http://shiflett.org/articles/the-truth-about-sessions
432 443 $fingerprint = 'I3GEOSEC' . $_SERVER['HTTP_USER_AGENT'];
433 444 $_SESSION['fingerprint'] = md5($fingerprint . session_id());
... ... @@ -440,7 +451,7 @@ $_SESSION[&quot;saikuUrl&quot;] = $saikuUrl_;
440 451 //pega todas as vari&aacute;veis da sess&atilde;o, mesmo as que foram definidas anteriormente
441 452 //
442 453 foreach(array_keys($_SESSION) as $k){
443   - eval("\$".$k."='".$_SESSION[$k]."';");
  454 + //eval("\$".$k."='".$_SESSION[$k]."';");
444 455 }
445 456 //sao arrays
446 457 $postgis_mapa = $postgis_mapa_;
... ...