pega_variaveis.php
3.87 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
<?php
/*
Title: pega_variaveis.php
Processa os arrays $_GET e $_POST, transformando-os em variáveis conforme as chaves.
Deve ser incluído sempre no início dos programas em PHP utilizados pelo i3Geo, evitando que o parâmetro "REGISTER_GLOBALS"
do PHP precise ser definido como "On".
No caso do uso de POST do lado cliente com a biblioteca CPAINT, é feito o processamento
dos argumentos definidos na chamada call. Para fazer a chamada utilizando-se POST, deve-se seguir o exemplo abaixo:
	var cp = new cpaint();
	cp.set_response_type("JSON");
	cp.set_transfer_mode("POST");
	var p = g_locaplic+"/classesphp/mapa_controle.php?g_sid="+g_sid;
	cp.call(p,"criaSHPvazio",ativanovotema,"funcao=criashpvazio,tema=teste");
O parâmetro "funcao=criashpvazio,tema=teste" será transformado em variáveis, ou seja,
$funcao = "v";
$tema = "teste";
Licenca:
GPL2
i3Geo Interface Integrada de Ferramentas de Geoprocessamento para Internet
Direitos Autorais Reservados (c) 2006 Ministério do Meio Ambiente Brasil
Desenvolvedor: Edmar Moretti edmar.moretti@gmail.com
Este programa é software livre; você pode redistribuí-lo
e/ou modificá-lo sob os termos da Licença Pública Geral
GNU conforme publicada pela Free Software Foundation;
Este programa é distribuído na expectativa de que seja útil,
porém, SEM NENHUMA GARANTIA; nem mesmo a garantia implícita
de COMERCIABILIDADE OU ADEQUAÇÃO A UMA FINALIDADE ESPECÍFICA.
Consulte a Licença Pública Geral do GNU para mais detalhes.
Você deve ter recebido uma c�pia da Licença Pública Geral do
GNU junto com este programa; se não, escreva para a
Free Software Foundation, Inc., no endereço
59 Temple Street, Suite 330, Boston, MA 02111-1307 USA.
Arquivo:
i3geo/classesphp/pega_variaveis.php
*/
//echo "<pre>";
//var_dump($_POST);exit;
if (basename(__FILE__) == basename($_SERVER['SCRIPT_FILENAME'])){
	exit;
}
error_reporting(0);
$bl = array("password","select","_decode","php","eval","passthru","shell_exec","escapeshellarg","escapeshellcmd","proc_close","proc_open","dl","popen","contents","delete","drop","update","insert","exec","system",";");
if (isset($_GET))
{
	foreach(array_keys($_GET) as $k)
	{
		$k = str_ireplace($bl,"",$k);
		$k = filter_var($k, FILTER_SANITIZE_STRING);
		if ($_GET[$k] != "''"){
			$v = strip_tags($_GET[$k]);
			$v = str_ireplace($bl,"",$v);
			eval("\$".$k."='".(trim($v))."';");
		}
	}
}
//var_dump($_GET);exit;
if (isset($_POST))
{
	//var_dump($_POST);exit;
	foreach(array_keys($_POST) as $k)
	{
		$k = str_ireplace($bl,"",$k);
		$k = filter_var($k, FILTER_SANITIZE_STRING);
		$_POST[$k] = str_ireplace($bl,"",$_POST[$k]);
		if (($_POST[$k] != "''"))
		eval("\$".$k."='".(strip_tags(trim($_POST[$k])))."';");
		if (($_POST[$k] != "''") && ($k == "cpaint_argument"))
		{
			foreach($_POST["cpaint_argument"] as $argumento_)
			{
				if (strtoupper(substr(PHP_OS, 0, 3) == 'WIN'))
				{$argumento_ = str_replace("\\\"","",$argumento_);}
				else
				{$argumento_ = str_replace("\"","",$argumento_);}
				$argumento_ = explode('"',$argumento_);
				$argumento_ = implode("&",$argumento_);
				$parametros_ = explode("&",$argumento_);
				foreach($parametros_ as $parametro_)
				{
					$p_ = explode("=",$parametro_);
					$parametro = $p_[0];
					$p_ = array_slice($p_, 1, count($p_));
					$valor_ = implode("=",$p_);
					if($parametro != ""){
						$valor_ = str_replace("'","*#*",$valor_);
						eval("\$".$parametro."='".(trim($valor_))."';");
						eval("\$".$parametro."=str_replace('*#*','\'',\$".$parametro.");");
					}
				}
			}
		}
	}
}
if(isset($id_medida_variavel)){
	$id_medida_variavel = $id_medida_variavel * 1;
}
//echo $exps;exit;
?>