Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

maurohpg

[Resolvido] Falha com SQL Injetion

Recommended Posts

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

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

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

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

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

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

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

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

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.