Ir para conteúdo

Arquivado

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

Kelven

verificação de cookie

Recommended Posts

Pessoal estou com um problema, fiz um script para proteção contra injeção sql só q está dando um erro, esse erro olha

 

Fatal error: Cannot redeclare protecao() (previously declared in C:\Inetpub\vhosts\studiopandora.com.br\httpdocs\cliente\set_cookie.php:10) inC:\Inetpub\vhosts\studiopandora.com.br\httpdocs\cliente\set_cookie.php on line 41

 

Olha o código abaixo:

<?php
//verifica se a variavel foi inciada ou setada.



if (isset($_COOKIE['nome_usuario']))
{
	$nome_usuario= (string)mysql_real_escape_string($_COOKIE['nome_usuario'], $con);
	
	function protecao($nome_usuario){
	  $nome_usuario = str_replace(" or ", "", $nome_usuario);
	  $nome_usuario = str_replace("select ", "", $nome_usuario);
	  $nome_usuario = str_replace("delete ", "", $nome_usuario);
	  $nome_usuario = str_replace("create ", "", $nome_usuario);
	  $nome_usuario = str_replace("drop ", "", $nome_usuario);
	  $nome_usuario = str_replace("update ", "", $nome_usuario);
	  $nome_usuario = str_replace("drop table", "", $nome_usuario);
	  $nome_usuario = str_replace("show table", "", $nome_usuario);
	  $nome_usuario = str_replace("applet", "", $nome_usuario);
	  $nome_usuario = str_replace("object", "", $nome_usuario);
	  $nome_usuario = str_replace("'", "", $nome_usuario);
	  $nome_usuario = str_replace("#", "", $nome_usuario);
	  $nome_usuario = str_replace("=", "", $nome_usuario);
	  $nome_usuario = str_replace("--", "", $nome_usuario);
	  $nome_usuario = str_replace("-", "", $nome_usuario);
	  $nome_usuario = str_replace(";", "", $nome_usuario);
	  $nome_usuario = str_replace("*", "", $nome_usuario);
	  $nome_usuario = strip_tags($nome_usuario);
	
	  return $nome_usuario;
		}


	}

if (isset($_COOKIE['senha_usuario']))
{
	
	$senha_usuario= (string)mysql_real_escape_string($_COOKIE['senha_usuario'], $con);
	
	function protecao($senha_usuario){
	  $senha_usuario = str_replace(" or ", "", $senha_usuario);
	  $senha_usuario = str_replace("select ", "", $senha_usuario);
	  $senha_usuario = str_replace("delete ", "", $senha_usuario);
	  $senha_usuario = str_replace("create ", "", $senha_usuario);
	  $senha_usuario = str_replace("drop ", "", $senha_usuario);
	  $senha_usuario = str_replace("update ", "", $senha_usuario);
	  $senha_usuario = str_replace("drop table", "", $senha_usuario);
	  $senha_usuario = str_replace("show table", "", $senha_usuario);
	  $senha_usuario = str_replace("applet", "", $senha_usuario);
	  $senha_usuario = str_replace("object", "", $senha_usuario);
	  $senha_usuario = str_replace("'", "", $senha_usuario);
	  $senha_usuario = str_replace("#", "", $senha_usuario);
	  $senha_usuario = str_replace("=", "", $senha_usuario);
	  $senha_usuario = str_replace("--", "", $senha_usuario);
	  $senha_usuario = str_replace("-", "", $senha_usuario);
	  $senha_usuario = str_replace(";", "", $senha_usuario);
	  $senha_usuario = str_replace("*", "", $senha_usuario);
	  $senha_usuario = strip_tags($senha_usuario);
	
	  return $senha_usuario;
		}

	}

if (!(empty($nome_usuario) or empty($senha_usuario)))
{
	include ("../adm/conection/conection.php");
	$login_final = protecao($nome_usuario);
	$senha_final = protecao2($senha_usuario);
	
	$sql= "SELECT * FROM clientes WHERE login = '$login_final' and senha = '$senha_final'";
	$query= mysql_query($sql);
	$linhas= mysql_num_rows($query);
	
	if($linhas == 0)
	{
		setcookie("nome_usuario");
		setcookie("senha_usuario");
		header("location:../");
		exit;
	}
}
else
{
		header("location:../");
		exit;
}


?>

O que eu posso fazer para estar resolvendo esse problema?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pra que você está duplicando a função? Se ela é exatamente a mesma você não precisa dela duas vezes.

 

Outro detalhe:

$login_final = protecao($nome_usuario);
$senha_final = protecao2($senha_usuario);

Ai você está chamando a função com dois nomes diferentes.

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.