maurohpg 0 Denunciar post Postado Março 14, 2012 Pessoal boa tarde, estou testando meu código com algumas sql injections e vi que há alguns erros no código, mais não consegui indentificar, já tentei com settype mais mesmo assim está com falhas, alguém que conheça sobre seguranã em php sql poderia me ajudar? Vou enviar o código completo para quem puder analizar. <? //Ao relocar o site os links "INCLUDE" deverão ser corrigidos. Os links include da página INDEX, CADASTRESE, CADASTRESE_OFF // Logar ao sistema e carregar classes include_once("includes/conexao.inc.php"); include_once("includes/recordset.class.php"); if(!empty($_GET['associado'])){ $retornar = $_SESSION['logar_pagina']; if ($_GET['associado'] == "logar"){ $_SESSION['associado_tipo'] = $_POST['tipo']; $_SESSION['associado_nome'] = $_POST['nome']; $_SESSION['associado_pwd'] = $_POST['pwd']; header("Location: associado_logar.php"); exit; } elseif ($_GET['associado'] == "logout"){ $_SESSION['restrito'] = null; $_SESSION['usuario_restrito'] = null; header("Location: index.php"); exit; } elseif ($_SESSION['restrito'] != "teste_cooperado"){ $_SESSION['site_aviso'] = "Você não está logado!"; header("Location: ".$retornar.""); exit; } else { $sqlassociado = mysql_query("select * from parceiros where cd_parceiro='".$_SESSION['restrito_id']."'", $conexao); $regassociado = mysql_fetch_array($sqlassociado); if ($_GET['associado'] == "financeiro"){ $menuCarteira = mysql_query("SELECT DISTINCT(c.cd_carteira), c.ds_carteira FROM carteira c, financeiro f WHERE cd_parceiro=".$_SESSION['restrito_id']." AND c.cd_carteira=f.cd_carteira", $conexao); if($_GET['p'] == 1){ if($_POST['carteira']=="x"){ if(!empty($_POST['data_ini']) and !empty($_POST['data_fim'])){ $pesquisaTabela = mysql_query("select * from financeiro where cd_parceiro='".$_SESSION['restrito_id']."' and dt_movimento between '".originalData($_POST['data_ini'])."' and '".originalData($_POST['data_fim'])."' order by dt_movimento, dt_vencimento asc", $conexao); $pesquisaReceber = mysql_query("select SUM(vl_titulo) as soma from financeiro where cd_parceiro='".$_SESSION['restrito_id']."' and dt_movimento between '".originalData($_POST['data_ini'])."' and '".originalData($_POST['data_fim'])."' and cd_tipo_conta='P' order by dt_movimento, dt_vencimento asc", $conexao); $pesquisaReceber_valor = number_format(mysql_result($pesquisaReceber, "soma"), 2, ',', '.'); $pesquisaVencer = mysql_query("select SUM(vl_titulo) as soma from financeiro where cd_parceiro='".$_SESSION['restrito_id']."' and dt_movimento between '".originalData($_POST['data_ini'])."' and '".originalData($_POST['data_fim'])."' and TO_DAYS(dt_vencimento) >= TO_DAYS(now()) and cd_tipo_conta='R' order by dt_movimento, dt_vencimento asc", $conexao); $pesquisaVencer_valor = number_format(mysql_result($pesquisaVencer, "soma"), 2, ',', '.'); $pesquisaVencido = mysql_query("select SUM(vl_titulo) as soma from financeiro where cd_parceiro='".$_SESSION['restrito_id']."' and dt_movimento between '".originalData($_POST['data_ini'])."' and '".originalData($_POST['data_fim'])."' and TO_DAYS(dt_vencimento) < TO_DAYS(now()) and cd_tipo_conta='R' order by dt_movimento, dt_vencimento asc", $conexao); $pesquisaVencido_valor = number_format(mysql_result($pesquisaVencido, "soma"), 2, ',', '.'); } else { $pesquisaTabela = mysql_query("select * from financeiro where cd_parceiro='".$_SESSION['restrito_id']."' order by dt_movimento, dt_vencimento asc", $conexao); $pesquisaReceber = mysql_query("select SUM(vl_titulo) as soma from financeiro where cd_parceiro='".$_SESSION['restrito_id']."' and cd_tipo_conta='P' order by dt_movimento, dt_vencimento asc", $conexao); $pesquisaReceber_valor = number_format(mysql_result($pesquisaReceber, "soma"), 2, ',', '.'); $pesquisaVencer = mysql_query("select SUM(vl_titulo) as soma from financeiro where cd_parceiro='".$_SESSION['restrito_id']."' and TO_DAYS(dt_vencimento) >= TO_DAYS(now()) and cd_tipo_conta='R' order by dt_movimento, dt_vencimento asc", $conexao); $pesquisaVencer_valor = number_format(mysql_result($pesquisaVencer, "soma"), 2, ',', '.'); $pesquisaVencido = mysql_query("select SUM(vl_titulo) as soma from financeiro where cd_parceiro='".$_SESSION['restrito_id']."' and TO_DAYS(dt_vencimento) < TO_DAYS(now()) and cd_tipo_conta='R' order by dt_movimento, dt_vencimento asc", $conexao); $pesquisaVencido_valor = number_format(mysql_result($pesquisaVencido, "soma"), 2, ',', '.'); } } else { if(!empty($_POST['data_ini']) and !empty($_POST['data_fim'])){ $pesquisaTabela = mysql_query("select * from financeiro where cd_parceiro='".$_SESSION['restrito_id']."' and cd_carteira='".$_POST['carteira']."' and dt_movimento between '".originalData($_POST['data_ini'])."' and '".originalData($_POST['data_fim'])."' order by dt_movimento, dt_vencimento asc", $conexao); $pesquisaReceber = mysql_query("select SUM(vl_titulo) as soma from financeiro where cd_parceiro='".$_SESSION['restrito_id']."' and cd_carteira='".$_POST['carteira']."' and dt_movimento between '".originalData($_POST['data_ini'])."' and '".originalData($_POST['data_fim'])."' and cd_tipo_conta='P' order by dt_movimento, dt_vencimento asc", $conexao); $pesquisaReceber_valor = number_format(mysql_result($pesquisaReceber, "soma"), 2, ',', '.'); $pesquisaVencer = mysql_query("select SUM(vl_titulo) as soma from financeiro where cd_parceiro='".$_SESSION['restrito_id']."' and cd_carteira='".$_POST['carteira']."' and dt_movimento between '".originalData($_POST['data_ini'])."' and '".originalData($_POST['data_fim'])."' and TO_DAYS(dt_vencimento) >= TO_DAYS(now()) and cd_tipo_conta='R' order by dt_movimento, dt_vencimento asc", $conexao); $pesquisaVencer_valor = number_format(mysql_result($pesquisaVencer, "soma"), 2, ',', '.'); $pesquisaVencido = mysql_query("select SUM(vl_titulo) as soma from financeiro where cd_parceiro='".$_SESSION['restrito_id']."' and cd_carteira='".$_POST['carteira']."' and dt_movimento between '".originalData($_POST['data_ini'])."' and '".originalData($_POST['data_fim'])."' and TO_DAYS(dt_vencimento) < TO_DAYS(now()) and cd_tipo_conta='R' order by dt_movimento, dt_vencimento asc", $conexao); $pesquisaVencido_valor = number_format(mysql_result($pesquisaVencido, "soma"), 2, ',', '.'); } else { $pesquisaTabela = mysql_query("select * from financeiro where cd_parceiro='".$_SESSION['restrito_id']."' and cd_carteira='".$_POST['carteira']."' order by dt_movimento, dt_vencimento asc", $conexao); $pesquisaReceber = mysql_query("select SUM(vl_titulo) as soma from financeiro where cd_parceiro='".$_SESSION['restrito_id']."' and cd_carteira='".$_POST['carteira']."' and cd_tipo_conta='P' order by dt_movimento, dt_vencimento asc", $conexao); $pesquisaReceber_valor = number_format(mysql_result($pesquisaReceber, "soma"), 2, ',', '.'); $pesquisaVencer = mysql_query("select SUM(vl_titulo) as soma from financeiro where cd_parceiro='".$_SESSION['restrito_id']."' and cd_carteira='".$_POST['carteira']."' and TO_DAYS(dt_vencimento) >= TO_DAYS(now()) and cd_tipo_conta='R' order by dt_movimento, dt_vencimento asc", $conexao); $pesquisaVencer_valor = number_format(mysql_result($pesquisaVencer, "soma"), 2, ',', '.'); $pesquisaVencido = mysql_query("select SUM(vl_titulo) as soma from financeiro where cd_parceiro='".$_SESSION['restrito_id']."' and cd_carteira='".$_POST['carteira']."' and TO_DAYS(dt_vencimento) < TO_DAYS(now()) and cd_tipo_conta='R' order by dt_movimento, dt_vencimento asc", $conexao); $pesquisaVencido_valor = number_format(mysql_result($pesquisaVencido, "soma"), 2, ',', '.'); } } } } elseif ($_GET['associado'] == "capital"){ $menuCarteira = mysql_query("SELECT DISTINCT(c.cd_carteira), c.ds_carteira FROM carteira c, financeiro f WHERE cd_parceiro=".$_SESSION['restrito_id']." AND c.cd_carteira=f.cd_carteira", $conexao); } elseif ($_GET['associado'] == "producao"){ $menuCarteira = mysql_query("SELECT DISTINCT(c.cd_carteira), c.ds_carteira FROM carteira c, financeiro f WHERE cd_parceiro=".$_SESSION['restrito_id']." AND c.cd_carteira=f.cd_carteira", $conexao); } elseif ($_GET['associado'] == "precosdodia"){ if(empty($_GET['m'])){ $pagina = 1; if (!empty($_GET['pag'])) $pagina = $_GET['pag']; $sqlAssociadoMensagens = "select * from editar_exclusivo where categoria='28' order by data desc"; $rsAssociadoMensagens = new RecordSet($conexao, $sqlAssociadoMensagens, 15, 'pag'); $regAssociadoMensagens = $rsAssociadoMensagens->registros; } } elseif ($_GET['associado'] == "analisedemercado"){ if(empty($_GET['m'])){ $pagina = 1; if (!empty($_GET['pag'])) $pagina = $_GET['pag']; $sqlAssociadoMensagens = "select * from editar_exclusivo where categoria='27' order by data desc"; $rsAssociadoMensagens = new RecordSet($conexao, $sqlAssociadoMensagens, 15, 'pag'); $regAssociadoMensagens = $rsAssociadoMensagens->registros; } } elseif ($_GET['associado'] == "mensagens"){ if(empty($_GET['m'])){ $pagina = 1; if (!empty($_GET['pag'])) $pagina = $_GET['pag']; $sqlAssociadoMensagens = "select * from editar_exclusivo where categoria='28' order by data desc"; $rsAssociadoMensagens = new RecordSet($conexao, $sqlAssociadoMensagens, 15, 'pag'); $regAssociadoMensagens = $rsAssociadoMensagens->registros; } } if(!empty($_GET['m'])){ $sqlAssociadoMensagem = mysql_query("select * from editar_exclusivo where id='".$_GET['m']."'", $conexao); $regAssociadoMensagem = mysql_fetch_array($sqlAssociadoMensagem); // Fotos $sql_fotos = "select * from editar_fotos where tipo='exclusivo' and referencia=" . $_GET['m']; $rs_fotos = new RecordSet($conexao, $sql_fotos, 100, 1); $reg_fotos = $rs_fotos->registros; // Vídeos $sql_videos = "select * from editar_videos where tipo='exclusivo' and referencia=" . $_GET['m']; $rs_videos = new RecordSet($conexao, $sql_videos, 100, 1); $reg_videos = $rs_videos->registros; // Downloads $sql_downloads = "select * from editar_downloads where tipo='exclusivo' and referencia=" . $_GET['m']; $rs_downloads = new RecordSet($conexao, $sql_downloads, 100, 1); $reg_downloads = $rs_downloads->registros; } } } //Pegar nome da página para retornar após login $_SESSION['logar_pagina'] = $_SERVER["REQUEST_URI"]; //Listar menu institucional $menuInstitucional = mysql_query("select * from editar_content where pai='0' and categoria='6' order by ordem asc limit 0, 1000", $conexao); $menuServicos = mysql_query("select * from editar_content where pai='0' and categoria='7' order by ordem asc limit 0, 1000", $conexao); $menuEstados = mysql_query("select * from editar_unidades_uf order by titulo asc limit 0, 1000", $conexao); //Se for notícia if(!empty($_GET['noticia'])){ $sql_noticia = mysql_query("select * from editar_noticias where id='".$_GET['noticia']."'", $conexao); $reg_noticia = mysql_fetch_array($sql_noticia); $pageTittle = $reg_noticia['titulo']; //Últimas notícias $noticias_ultimas = mysql_query("select * from editar_noticias order by data id limit 0, 5", $conexao); // Fotos $sql_fotos = "select * from editar_fotos where tipo='noticias' and referencia=" . $_GET['noticia']; $rs_fotos = new RecordSet($conexao, $sql_fotos, 100, 1); $reg_fotos = $rs_fotos->registros; // Vídeos $sql_videos = "select * from editar_videos where tipo='noticias' and referencia=" . $_GET['noticia']; $rs_videos = new RecordSet($conexao, $sql_videos, 100, 1); $reg_videos = $rs_videos->registros; // Downloads $sql_downloads = "select * from editar_downloads where tipo='noticias' and referencia=" . $_GET['noticia']; $rs_downloads = new RecordSet($conexao, $sql_downloads, 100, 1); $reg_downloads = $rs_downloads->registros; //Se for conteúdo } elseif(!empty($_GET['conteudo'])) { //Verifica se há conteúdo nesse ítem. $sql_verifica = mysql_query("select * from editar_content where id='".$_GET['conteudo']."'", $conexao); $reg_verifica = mysql_fetch_array($sql_verifica); //Se houver conteúdo, abre esse conteúdo if(!empty($reg_verifica['conteudo'])){ $sql_conteudo = mysql_query("select * from editar_content where id='".$_GET['conteudo']."'", $conexao); $reg_conteudo = mysql_fetch_array($sql_conteudo); $pageTittle = $reg_conteudo['titulo']; $reg_conteudo_titulo = $reg_conteudo['titulo']; if(!empty($reg_conteudo['arquivo'])){ $reg_conteudo_arquivo = "/editar/arquivos/editar_content/".$reg_conteudo['arquivo']; } else { $reg_conteudo_arquivo= "" ; } $reg_conteudo_arquivo2 = $reg_conteudo['arquivo2']; $reg_conteudo_conteudo = $reg_conteudo['conteudo']; $reg_conteudo_id = $reg_conteudo['id']; $reg_conteudo_pai = $reg_conteudo['pai']; //Conteúdos filhos e irmãos $conteudo_filhos = mysql_query("select * from editar_content where pai='".$_GET['conteudo']."' order by ordem asc limit 0, 1000", $conexao); if($reg_conteudo['pai']!=0){ $conteudo_irmaos = mysql_query("select * from editar_content where pai='".$reg_conteudo['pai']."' order by ordem asc limit 0, 1000", $conexao); } // Fotos $sql_fotos = "select * from editar_fotos where tipo='conteudos' and referencia=".$_GET['conteudo']." order by id asc"; $rs_fotos = new RecordSet($conexao, $sql_fotos, 100, 1); $reg_fotos = $rs_fotos->registros; // Vídeos $sql_videos = "select * from editar_videos where tipo='conteudos' and referencia=" . $_GET['conteudo']; $rs_videos = new RecordSet($conexao, $sql_videos, 100, 1); $reg_videos = $rs_videos->registros; // Downloads $sql_downloads = "select * from editar_downloads where tipo='conteudos' and referencia=" . $_GET['conteudo']; $rs_downloads = new RecordSet($conexao, $sql_downloads, 100, 1); $reg_downloads = $rs_downloads->registros; //Se não houver, abre o primeiro de seus filhos } else { $sql_conteudo = "select * from editar_content where pai='".$_GET['conteudo']."' order by ordem asc"; $rs_conteudo = new RecordSet($conexao, $sql_conteudo, 1, 1); $reg_conteudo = $rs_conteudo->registros; $pageTittle = $reg_conteudo[0]['titulo']; $reg_conteudo_titulo = $reg_conteudo[0]['titulo']; if(!empty($reg_conteudo[0]['arquivo'])){ $reg_conteudo_arquivo = "/editar/arquivos/editar_content/".$reg_conteudo[0]['arquivo']; } else { $reg_conteudo_arquivo= "" ; } $reg_conteudo_arquivo2 = $reg_conteudo[0]['arquivo2']; $reg_conteudo_conteudo = $reg_conteudo[0]['conteudo']; $reg_conteudo_id = $reg_conteudo[0]['id']; $reg_conteudo_pai = $reg_conteudo[0]['pai']; //Conteúdos filhos e irmãos $conteudo_filhos = mysql_query("select * from editar_content where pai='".$reg_conteudo[0]['id']."' order by ordem asc limit 0, 1000", $conexao); if($reg_conteudo[0]['pai']!=0){ $conteudo_irmaos = mysql_query("select * from editar_content where pai='".$reg_conteudo[0]['pai']."' order by ordem asc limit 0, 1000", $conexao); } // Fotos $sql_fotos = "select * from editar_fotos where tipo='conteudos' and referencia=".$reg_conteudo[0]['id']." order by id asc"; $rs_fotos = new RecordSet($conexao, $sql_fotos, 100, 1); $reg_fotos = $rs_fotos->registros; // Vídeos $sql_videos = "select * from editar_videos where tipo='conteudos' and referencia=" . $reg_conteudo[0]['id']; $rs_videos = new RecordSet($conexao, $sql_videos, 100, 1); $reg_videos = $rs_videos->registros; // Downloads $sql_downloads = "select * from editar_downloads where tipo='conteudos' and referencia=" . $reg_conteudo[0]['id']; $rs_downloads = new RecordSet($conexao, $sql_downloads, 100, 1); $reg_downloads = $rs_downloads->registros; } //Se for vídeo } elseif(!empty($_GET['video'])) { $sql_video = mysql_query("select * from editar_videos where id='".$_GET['video']."'", $conexao); $reg_video = mysql_fetch_array($sql_video); $pageTittle = $reg_video['legenda']; //Se for unidade } elseif(!empty($_GET['unidade'])) { $sql_unidade = mysql_query("select * from editar_unidades_unidade where id='".$_GET['unidade']."'", $conexao); $reg_unidade = mysql_fetch_array($sql_unidade); $pageTittle = "Unidades | ".$reg_unidade['titulo'].""; if(!empty($reg_unidade['arquivo'])){ $reg_conteudo_arquivo = "/editar/arquivos/editar_unidades_unidade/".$reg_unidade['arquivo']; } else { $reg_conteudo_arquivo= "" ; } //Se for listar } elseif(!empty($_GET['listar'])) { $pagina = 1; if (!empty($_GET['pag'])) $pagina = $_GET['pag']; if($_GET['listar']=="noticias"){ $sql_noticias_todas = "select * from editar_noticias order by id desc"; $rs_noticias_todas = new RecordSet($conexao, $sql_noticias_todas, 15, 'pag'); $reg_noticias_todas = $rs_noticias_todas->registros; $pageTittle = "Notícias"; } elseif($_GET['listar']=="jornal"){ $sql_jornal_todos = "select * from editar_jornal order by data desc"; $rs_jornal_todos = new RecordSet($conexao, $sql_jornal_todos, 16, 'pag'); $reg_jornal_todos = $rs_jornal_todos->registros; $pageTittle = "Jornal"; } elseif($_GET['listar']=="informativo"){ $sql_informativo_todos = "select * from editar_informativo order by data desc"; $rs_informativo_todos = new RecordSet($conexao, $sql_informativo_todos, 16, 'pag'); $reg_informativo_todos = $rs_informativo_todos->registros; $pageTittle = "Informativo"; } elseif($_GET['listar']=="unidades"){ if(!empty($_GET['cidade'])){ $sql_unidades_todas = "select * from editar_unidades_unidade where cidade='".$_GET['cidade']."' order by titulo asc"; $rs_unidades_todas = new RecordSet($conexao, $sql_unidades_todas, 15, 'pag'); $reg_unidades_todas = $rs_unidades_todas->registros; } else { $sql_unidades_todas = "select * from editar_unidades_unidade order by titulo asc"; $rs_unidades_todas = new RecordSet($conexao, $sql_unidades_todas, 15, 'pag'); $reg_unidades_todas = $rs_unidades_todas->registros; } $pageTittle = "Unidades"; } elseif($_GET['listar']=="contato"){ $menuContato = mysql_query("select * from editar_contato order by titulo asc limit 0, 1000", $conexao); $pageTittle = "Contato"; } elseif($_GET['listar']=="trabalhe"){ $pageTittle = "Trabalhe conosco"; } elseif($_GET['listar']=="webmail"){ $pageTittle = "Webmail"; } elseif($_GET['listar']=="associados"){ $pageTittle = "Associados"; } elseif($_GET['listar']=="cancelar_newsletter"){ $pageTittle = "Cancelar inscrição"; } //Se for home } else { $home_noticias = mysql_query("select * from editar_noticias order by id desc limit 0, 5", $conexao); $home_jornal_listar = mysql_query("select * from editar_jornal order by data desc limit 0, 1", $conexao); $home_jornal = mysql_fetch_array($home_jornal_listar); $home_informativo_listar = mysql_query("select * from editar_informativo order by data desc limit 0, 1", $conexao); $home_informativo = mysql_fetch_array($home_informativo_listar); } ?> Compartilhar este post Link para o post Compartilhar em outros sites
lipeeh 2 Denunciar post Postado Março 14, 2012 Cara, o esquema principal eh filtrar o valor das variáveis que sao usadas nas querys, antes delas serem usadas, escapando comandos e caracteres indesejados. Procura por "classe anti sql", importante ficar esperto aos XSS. Você deve encontrar alguma classe anti XSS por ae tbm. Compartilhar este post Link para o post Compartilhar em outros sites
maurohpg 0 Denunciar post Postado Março 15, 2012 E se eu usar uma função? function _antiSqlInjetion($Target){ $sanitizeRules = array ('OR' , 'FROM' , 'SELECT' , 'INSERT' , 'DELETE' , 'WHERE' , 'DROP TABLE' , 'SHOW TABLES' , '*' , '--' , '='); foreach($Target as $key => $value): if(is_array($value)): $arraSanitized[$key] = _antiSqlInjetion ($value); else: $arraSanitized[$key] = (get_magic_quotes_gpc()) ? addslasches (str_ireplace($sanitizeRules,"",$value)) : str_ireplace ($sanitizeRules,"",$value); endif; endforeach; return $arraSanitized; } Será que eu consigo implementar essa função no meu código para fazer esse bloqueio? Compartilhar este post Link para o post Compartilhar em outros sites
Dii 15 Denunciar post Postado Março 15, 2012 Sim amigo, resolve. Só adicione essa função mysql_real_escape_string() Documentação Clique aqui :thumbsup: function _antiSqlInjetion($Target){ $sanitizeRules = array ('OR' , 'FROM' , 'SELECT' , 'INSERT' , 'DELETE' , 'WHERE' , 'DROP TABLE' , 'SHOW TABLES' , '*' , '--' , '='); foreach($Target as $key => $value): if(is_array($value)): $arraSanitized[$key] = _antiSqlInjetion ($value); else: $arraSanitized[$key] = (get_magic_quotes_gpc()) ? addslasches (str_ireplace($sanitizeRules,"",$value)) : str_ireplace ($sanitizeRules,"",$value); endif; endforeach; return mysql_real_escape_string($arraSanitized); // adiciona aqui } Compartilhar este post Link para o post Compartilhar em outros sites
maurohpg 0 Denunciar post Postado Março 15, 2012 Opa Diego tudo beleza, cara tentei da forma que você comentou acima mais mesmo assim está com falha ainda. Compartilhar este post Link para o post Compartilhar em outros sites
Dii 15 Denunciar post Postado Março 15, 2012 Opa Diego tudo beleza, cara tentei da forma que você comentou acima mais mesmo assim está com falha ainda. Falha...? Como assim? Chame ela assim: <?php echo _antiSqlInjetion("O'relley"); ?> Veja se a saída é essa: Saída: O\'relley Compartilhar este post Link para o post Compartilhar em outros sites
Rafafel Reis - PHP 1 Denunciar post Postado Março 15, 2012 eu recomendo você usar uma classe chamada cbmysql, essa classe faz com que alguns tipos de injeçoes não funcionem. ai dependendo do tipo de injeção, você cria uma função. Compartilhar este post Link para o post Compartilhar em outros sites
Dii 15 Denunciar post Postado Março 15, 2012 A princípio eu sempre utilizo essa: /** * anti_sql_injection * * Método responsável por filtrar as strings contra SQL Injection * Serve para melhorar a proteção contra acesso indevido de terceiros ao Banco de Dados * * @param string * @return string */ function anti_sql_injection( $str ) { $str = trim( $str ); $str = get_magic_quotes_gpc() ? stripslashes( $str ) : $str; $str = strip_tags( $str ); if( function_exists('mysql_real_escape_string') ) { $str = mysql_real_escape_string( $str ); } else { $str = mysql_escape_string( $str ); } return $str; } e nunca me deu dor de cabeça ;) Compartilhar este post Link para o post Compartilhar em outros sites
maurohpg 0 Denunciar post Postado Março 15, 2012 Valeu pessoal, vou tentar essas opções e retorno depois obrigado!! Compartilhar este post Link para o post Compartilhar em outros sites
maurohpg 0 Denunciar post Postado Março 16, 2012 Pessoal, deu certo e ainda coloquei esse código para ajudar. Ele bloqueia a pessoa a escrever qualquer dessas palavras abaixo do no navegador. Bem simples e ajuda mais uma ptoteção. <? $phpself = $_SERVER['PHP_SELF']; if(!empty($_SERVER['QUERY_STRING'])) { $IncEvil = $phpself .= "?" . $_SERVER['QUERY_STRING']; } if(eregi("http|cmd|www|ftp|.dat|.txt|.gif|wget|from|select|update|insert| delete|where|drop table|show tables|#|\*|--|\\\\", $IncEvil)) { echo "<font face=verdana color=ff0000><b>$IncEvil</b> <br>Esta pagina invalida!</br>"; echo "Voce sera redirecionado para a pagina principal.</font>"; echo "<meta http-equiv=\"refresh\" content=\"3; URL=index.php\">"; exit; } ?> Compartilhar este post Link para o post Compartilhar em outros sites
Fabio Pratta 14 Denunciar post Postado Março 16, 2012 Amigos dica pra vcs procurem por PHPIDS filtra todos tipos de ataques hoje em dia utilizo em meus projetos para varias empresas que não vou citar os nomes, por questão de profissionalismo mesmo.. Abraços... Compartilhar este post Link para o post Compartilhar em outros sites