Ir para conteúdo

Arquivado

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

Wagner Martins - SC

Problemas com spam

Recommended Posts

Olá,

 

Estou com um sério problema de span em um mural de recados, fiz a verificação por imagem com o php mais mesmo assim, continuam enviando span!! http://forum.imasters.com.br/public/style_emoticons/default/natal_mad.gif

 

Gostaria de saber quais alternativas posso adotar para evitar esses span

 

Meu códio eh esse:

 

Imagem

class vImage{

	var $numChars = 3; # Tamanho da String: default 3;
	var $w; # Largura da imagem
	var $h = 20; # Altura da Imagem: default 15;
	var $colBG = "188 220 231";
	var $colTxt = "0 0 0";
	var $colBorder = "0 128 192";
	var $charx = 20; # Espaço lateral de cada char
	var $numCirculos = 10; #Numeros de circulos randomicos
	
	
	function vImage(){
		session_start();
	}
	
	function gerText($num){
		# receber tamanho da string
		if (($num != '')&&($num > $this->numChars)) $this->numChars = $num;		
		# gerar string randmica
		$this->texto = $this->gerString();
		
		$_SESSION['vImageCodS'] = $this->texto;
	}
	
	function loadCodes(){
		$this->postCode = $_POST['vImageCodP'];
		$this->sessionCode = $_SESSION['vImageCodS'];
	}
	
	function checkCode(){
		if (isset($this->postCode)) $this->loadCodes();
		if ($this->postCode == $this->sessionCode)
			return true;
		else
			return false;
	}
	
	function showCodBox($mode=0,$extra=''){
		$str = "<input type=\"text\" name=\"vImageCodP\" ".$extra." > ";
		
		if ($mode)
			echo $str;
		else
			return $str;
	}
	
	function showImage(){
		
		
		$this->gerImage();
		
		header("Content-type: image/png");
		ImagePng($this->im);
		
	}
	
	function gerImage(){
		# Calcular tamanho para caber texto
		$this->w = ($this->numChars*$this->charx) + 40; #5px de cada lado, 4px por char
		# Criar img
		$this->im = imagecreatetruecolor($this->w, $this->h); 
		#desenhar borda e fundo
		imagefill($this->im, 0, 0, $this->getColor($this->colBorder));
		imagefilledrectangle ( $this->im, 1, 1, ($this->w-2), ($this->h-2), $this->getColor($this->colBG) );

		#desenhar circulos
		for ($i=1;$i<=$this->numCirculos;$i++) {
			$randomcolor = imagecolorallocate ($this->im , rand(100,255), rand(100,255),rand(100,255));
			imageellipse($this->im,rand(0,$this->w-10),rand(0,$this->h-3), rand(20,60),rand(20,60),$randomcolor);
		}
		#escrever texto
		$ident = 20;
		for ($i=0;$i<$this->numChars;$i++){
			$char = substr($this->texto, $i, 1);
			$font = rand(4,5);
			$y = round(($this->h-15)/2);
			$col = $this->getColor($this->colTxt);
			if (($i%1) == 0){
				imagechar ( $this->im, $font, $ident, $y, $char, $col );
			}else{
				imagecharup ( $this->im, $font, $ident, $y+10, $char, $col );
			}
			$ident = $ident+$this->charx;
		}

	}
	
	function getColor($var){
		$rgb = explode(" ",$var);
		$col = imagecolorallocate ($this->im, $rgb[0], $rgb[1], $rgb[2]);
		return $col;
	}
	
	function gerString(){
		rand(0,time());
		$possible="qwertyuiopasdfhjklzxcvbnm0123456789";
		while(strlen($str)<$this->numChars)
		{
				$str.=substr($possible,(rand()%(strlen($possible))),1);
		}

		$txt = $str;
		
		return $txt;
	}
}

 

Envia

if ($vImage->checkCode()) {



 
foreach ($_POST as $j =>$value) {
if (stristr($value,"Content-Type")) {
header("HTTP/1.0 403 Forbidden");
exit;
}
}

require_once ("admin/conecta.php"); 
$nome			=$_POST['nome'];

$cidade			=$_POST['cidade'];

$email			=$_POST['email'];

$telefone		=$_POST['telefone'];

$data			=$_POST['data'];

$msg			=$_POST['msg'];





// query do banco.

$sql = mysql_query ( "INSERT INTO forum (nome, cidade, email, telefone, data, msg) VALUES ('$nome', '$cidade', '$email', '$telefone', '$data', '$msg')");



if (!$sql){

	echo "Erro ao salvar informações no banco de dados";

	mysql_close($conexao); 

	exit(1);
		}
		
		}
		
				else{
			  echo"Você digitou o código errado";
			  
		}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Fiz um filtro de palavras que os spamers usam, dai fiz um estrutura de condição para ver se a palavra cadastrada nos filtros esta no formulario ou não. Quero saber agora, quais as palavras mais usadas nos spams, alguém sabe?

 

Obrigado http://forum.imasters.com.br/public/style_emoticons/default/natal_tongue.gif

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.