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;
?>