máximo) //$v_compress_level = 9; $v_compress_level = 0; // Mantido em 0(zero) para desabilitar a Compressão/Decompressão // Há necessidade de testes para Análise de Viabilidade Técnica require_once('../include/library.php'); // Essas variáveis conterão os indicadores de criptografia e compactação $v_cs_cipher = (trim($_POST['cs_cipher']) <> ''?trim($_POST['cs_cipher']) : '4'); $v_cs_compress = (trim($_POST['cs_compress']) <> ''?trim($_POST['cs_compress']) : '4'); $strPaddingKey = ''; // O agente PyCACIC envia o valor "padding_key" para preenchimento da palavra chave para decriptação/encriptação if ($_POST['padding_key']) { // Valores específicos para trabalho com o PyCACIC - 04 de abril de 2008 - Rogério Lino - Dataprev/ES $strPaddingKey = $_POST['padding_key']; // A versão inicial do agente em Python exige esse complemento na chave... } autentica_agente($key,$iv,$v_cs_cipher,$v_cs_compress, $strPaddingKey); $te_node_address = DeCrypt($key,$iv,$_POST['te_node_address'] ,$v_cs_cipher,$v_cs_compress,$strPaddingKey); $id_so_new = DeCrypt($key,$iv,$_POST['id_so'] ,$v_cs_cipher,$v_cs_compress,$strPaddingKey); $te_so = DeCrypt($key,$iv,$_POST['te_so'] ,$v_cs_cipher,$v_cs_compress,$strPaddingKey); $te_ip = DeCrypt($key,$iv,$_POST['te_ip'] ,$v_cs_cipher,$v_cs_compress,$strPaddingKey); $id_ip_rede = DeCrypt($key,$iv,$_POST['id_ip_rede'] ,$v_cs_cipher,$v_cs_compress,$strPaddingKey); $te_nome_computador = DeCrypt($key,$iv,$_POST['te_nome_computador'] ,$v_cs_cipher,$v_cs_compress,$strPaddingKey); $te_workgroup = DeCrypt($key,$iv,$_POST['te_workgroup'] ,$v_cs_cipher,$v_cs_compress,$strPaddingKey); $v_tripa_monitorados = DeCrypt($key,$iv,$_POST['te_tripa_monitorados'],$v_cs_cipher,$v_cs_compress,$strPaddingKey); /* Todas as vezes em que é feita a recuperação das configurações por um agente, é incluído o computador deste agente no BD, caso ainda não esteja inserido. */ if ($te_node_address <> '') { $arrSO = inclui_computador_caso_nao_exista( $te_node_address, $id_so_new, $te_so, $id_ip_rede, $te_ip, $te_nome_computador, $te_workgroup); $v_tripa_nao_achados = ''; //Conterá os registros não encontrados na base $v_conta_tripa_monitorados = 0; if ($v_tripa_monitorados<>'') { $query_mon = "SELECT id_aplicativo FROM aplicativos_monitorados WHERE id_so = ".$arrSO['id_so']." AND te_node_address = '".$te_node_address."'"; conecta_bd_cacic(); $result_mon = mysql_query($query_mon); //Buscar todos os registros deste computador em aplicativos_monitorados. //Montar vetor com as informações acima. //Atualizar os registros existentes e acrescentar os inexistentes. $v_array_monitorados = explode("#",$v_tripa_monitorados); $v_tripa_codigos_pesquisados = ''; while ($v_reg_mon = mysql_fetch_array($result_mon)) { if ($v_tripa_codigos_pesquisados <> '') $v_tripa_codigos_pesquisados .= '#'; $v_tripa_codigos_pesquisados .= $v_reg_mon['id_aplicativo']; for ($v1=0;$v1 < count($v_array_monitorados);$v1 ++) { $v_array_itens_monitorados = explode(",",$v_array_monitorados[$v1]); if ($v_array_itens_monitorados[0]==$v_reg_mon['id_aplicativo']) { $query = "UPDATE aplicativos_monitorados SET te_licenca = '".$v_array_itens_monitorados[1]."', cs_instalado = '".($v_array_itens_monitorados[2]==''?'N':$v_array_itens_monitorados[2])."', te_versao = '".$v_array_itens_monitorados[3]."', te_ver_engine = '".$v_array_itens_monitorados[4]."', te_ver_pattern = '".$v_array_itens_monitorados[5]."' WHERE te_node_address = '".$te_node_address."' AND id_so = '".$arrSO['id_so']."' AND id_aplicativo = ".$v_reg_mon['id_aplicativo']; conecta_bd_cacic(); $result = mysql_query($query); $v1 = count($v_array_monitorados); } } } $v_array_codigos_pesquisados = explode('#',str_replace(' ','',$v_tripa_codigos_pesquisados)); $v_tripa_codigos_monitorados = ''; for ($v_moni=0;$v_moni < count($v_array_monitorados);$v_moni++) { $v_array_monitorados_tmp = explode(',',$v_array_monitorados[$v_moni]); if ($v_tripa_codigos_monitorados <> '') $v_tripa_codigos_monitorados .= '#'; $v_tripa_codigos_monitorados .= $v_array_monitorados_tmp[0]; } $v_array_codigos_monitorados = explode('#',str_replace(' ','',$v_tripa_codigos_monitorados)); $v_array_diferentes = array_diff($v_array_codigos_monitorados,$v_array_codigos_pesquisados); $v_tripa_diferentes = implode('#',$v_array_diferentes); $v_array_diferentes = explode('#',str_replace(' ','',$v_tripa_diferentes)); for ($v_dife=0;$v_dife < count($v_array_diferentes);$v_dife++) { for ($v_moni=0;$v_moni < count($v_array_monitorados);$v_moni++) { $v_array_itens_para_insercao = explode(',',$v_array_monitorados[$v_moni]); if ($v_array_itens_para_insercao[0]==$v_array_diferentes[$v_dife]) { $query = "INSERT INTO aplicativos_monitorados (te_node_address, id_so, id_aplicativo, te_licenca, cs_instalado, te_versao, te_ver_engine, te_ver_pattern) VALUES ('".$te_node_address."', '".$arrSO['id_so']."',". $v_array_itens_para_insercao[0].",'". $v_array_itens_para_insercao[1]."','". $v_array_itens_para_insercao[2]."','". $v_array_itens_para_insercao[3]."','". $v_array_itens_para_insercao[4]."','". $v_array_itens_para_insercao[5]."')"; $result = mysql_query($query); $v_moni = count($v_array_monitorados); } } } } echo 'OK'; } else echo 'Chave (TE_NODE_ADDRESS + ID_SO) Inválida'; ?>