[Resolvido] Criar antispam para formulários
Olá amigos, bom, estou aqui por um motivo muito chato. Semana passada decidi colocar um sistema de comentários nas postagens do sites, depois disso, eu consigui ter uma visão dos usuários, juntamente com suas opinioes. Aí vem o problema, desde então, eu passo mais de 1 hora por dia, apenas excluindo spams, aqueles comentários sem nenhuma ligação com o post e em outra links (além de estarem cheios de links), então procurei na internet, um sistema de antispam e encontrei o captcha, mas mesmo assim, o sistema que eu coloquei funciona para pessoas, tipo, os usuários não conseguem comentar sem digitar as letrinhas, mas os spam (eu naum tenho a minima ideia de como) ainda entram sem problema algum. Alguém pode me ajudar com isto?
Vou mostrar o codigo que estou utilizando (o codigo esta indexado no arquivo post.php, que é onde eu publico as postagens na integra):
Posts.php
echo "<form method='post' action='comentarblog.php' onSubmit='return checa(this);'>";
echo "<table class='comentario'>";
echo "<tr><td>";
echo "<input type='hidden' name='idpost' value='$id'>";
echo "<input type='hidden' name='data' value='$date'>";
echo "Nome:";
echo "</td>";
echo "<td><input class='comenta' type='text' name='nome'></td></tr>";
echo "<tr><td>Comentário:</td>";
echo "<td>";
echo "<textarea class='comenta' name='comentario'></textarea><br>";
echo "</td></tr>";
echo "<tr>";
echo "<td><img src='objetos/captcha.php'></td>";
echo "<td><input type='text' name='captcha'>";
if ($_SESSION["errocaptcha"] == 1){
echo " !ERRO: Digite os caracteres corretamente!";
unset($_SESSION["errocaptcha"]);
}
echo "</td>";
echo "</tr>";
echo "<tr>";
echo "<td></td>";
echo "<td>";
echo "<input class='comenta1' name='enviar' type='submit' id='enviar' value='COMENTAR'> ";
echo "<td>";
echo "</tr>";
echo "</table>";
echo "</form>";
O arquivo que escreve os comentários no Mysql é o comentarblog.php, da uma olhada nele também:
<?php
session_start();
$idpost = $_POST["idpost"];
$nome = $_POST["nome"];
$data = $_POST["data"];
$comentario = $_POST["comentario"];
if ($_POST["captcha"] == $_SESSION["session_textoCaptcha"]){
$_SESSION['comentario'] = "$nome";
include "conexao.php";
$sql = "INSERT INTO blog_comenta (idpost, nome, data, comentario, publicar) VALUES ('$idpost', '$nome', '$data', '$comentario', 'nao')";
$sql = mysql_query($sql) or die ("Erro!");
echo "<meta HTTP-EQUIV='Refresh' CONTENT='0;URL=post.php?id=$idpost'>";
} else {
echo "<meta HTTP-EQUIV='Refresh' CONTENT='0;URL=post.php?id=$idpost'>";
$_SESSION["errocaptcha"] = 1;
}
?>
Desde já, agradeço a atenção!
Discussão (3)
Carregando comentários...