Ir para conteúdo

POWERED BY:

Arquivado

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

dougtog

Enquete sem cookie!!!

Recommended Posts

:o Olá pessoal, bom dia para todos!!!É que estou com um probleminha com um "VANDALO" que está avacalhando a enquete do site que comecei a administrar, ele está votando várias vezes em um mesmo voto atrapalhando o resultado real da enquete. Sou iniciante em PHP, mas sei que a enquete que possuo gera um cookie que armazena o IP da pessoa por uns 15 minutos, e provavelmente essa pessoa apaga o cookie (que fica armazenado na máquina dele) e vota novamente, fiz o teste eu mesmo, e era isso mesmo! Não queria alterar a aparência da minha enquete ou criar outro, só queria saber se alguém pode me ajudar a corrigir esse problema, pois sou iniciante mesmo... Se alguém puder, agradeço de coração!!! :D Msn: Dougtog@hotmail.com

Compartilhar este post


Link para o post
Compartilhar em outros sites

Kara existem diversar maneira de se fazer isso...algumas usando sessão, outras banco...mas como você falou que não queria alterar muito o sistema, o que você poderia fazer �...ao inves de você gravar em banco, você poderia gravar o ip e a data em um arquivo txt...faria uma pesquisa no arquivo em busca daquele ip...e no horario ao menos tempo...tipo se ip não existisse e o horario gravado menos a hora atual fosse maior que 15 minutos poderia voltar senao...não...mas acabou de me ocorrer o seguinte...que talves seja mais indicado...você podeira modificar sua enquete para só aceitar votos caso o cookie existisse...você faria um cookie criptografado....gravaria a data tambem... alem do ip...faria o mesmo teste do arquivo txt...ai caso o malandro apagasse o cookie seu script notaria isso e não permitiria o voto...voto apenas de quem tem o cookei do seu site, isso evita ele apagar....e os testes ajudariam a ver se ele já votou ou não...seria acredito eu uma boa saida sem modificar muito seu sistema...abraçosMarcio

Compartilhar este post


Link para o post
Compartilhar em outros sites

bom dia amigo para ter ajudar eu poderia de indicar um site que acabar com seu sono esse vandalo seu estava fazendo com você esta tudo explicado la

 

uma sistema excelente

henrique guedes

por uma internet sem vandalos http://forum.imasters.com.br/public/style_emoticons/default/joia.gif

 

 

http://www.flashmasters.com.br/?site=tutor...tra&cat=3&id=58

Compartilhar este post


Link para o post
Compartilhar em outros sites

Como eu não sei quase nada de PHP, vai o código da enquete, se alguém souber como melhorar isso e que possa me ajudar, ficarei grato!!!>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>><? include($DOCUMENT_ROOT . "/zorbstats/zorblogspages.php"); countpage("Enquete","Resultado da Enquete");if ($opcao == '') {require ('config.inc');$conn = mysql_connect($host, $user, $pass);$resultado = mysql_db_query($db, "SELECT * FROM $tb_enquete WHERE ativado='1';");$row = mysql_fetch_array($resultado);$pergunta = $row["titulo"];} else {if ($HTTP_COOKIE_VARS["voteinaenquete"] != "1") {require ('config.inc');$conn = mysql_connect($host, $user, $pass);$resultado = mysql_db_query($db, "SELECT * FROM $tb_enquete WHERE ativado='1';");$row = mysql_fetch_array($resultado);$pergunta = $row["titulo"];$r[] = $row["r1"];$r[] = $row["r2"];$r[] = $row["r3"];$r[] = $row["r4"];$r[] = $row["r5"];$r[] = $row["r6"];$r[] = $row["r7"];$r[] = $row["r8"];$r[] = $row["r9"];$r[] = $row["r10"];$r[$opcao]++;setcookie("voteinaenquete", "1", time()+3600);$resultado = mysql_db_query($db, "UPDATE $tb_enquete SET r1='$r[0]', r2='$r[1]', r3='$r[2]', r4='$r[3]', r5='$r[4]', r6='$r[5]', r7='$r[6]', r8='$r[7]', r9='$r[8]', r10='$r[9]' WHERE ativado='1';");} else { $resposta = "<font size=1 face=verdana color=cc0000><b>Você já votou na enquete!</b></font>";}}?>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>É isso ai galera, não sei quase nada, é que já peguei isso pronto, se alguém puder me ajudar, puts ficarei felizasso!!!Valeu ae aos comentários acima da galera que tentou me ajudar!!Ass: DouglasMsn: dougtog@hotmail.com

Compartilhar este post


Link para o post
Compartilhar em outros sites

E ai Cara belezaBom eu fiz com banco de dados se sem cookiesOlha so criei uma table que ira armazenar minhas perguntas tipo Acho legal o Site??dentro da minha tabela eu crieinome_perguntaid_perguntasiteNa tabela resposta eu criei uma o seguintes campos id_perguntaid_respnome_respnr_votos Bom depois é so tu fazer o seguinte puxa da tua tabela resposta as respostas que possuem o mesmo id_pergunta Dai no site voce faz o seguinte captura as informações via POST ou GET ou Qualquer outra forma e inseri no banco na tabela resposta Tipo voce vai votar toda a vez que votar ele vai coparar se o id_pergunta for igual ao do banco se for ele ira fazer um update somando mais um.O codigo é esse adapta no seu site se e se diverta no final .$sql = "UPDATE `tabela_resposta` SET `nr_votos`='$nr_votos' WHERE id_pergunta='$id_p' AND id_resp='$id_resp'"; $sql_res = mysql_query($sql, $conexao) or die ("Não foi possível atualizar os dados.");Falou

Compartilhar este post


Link para o post
Compartilhar em outros sites

por IP não viravocê pode até bloquear mas,por exemplonuma emprsa com 10 computadores em redeo endereço ip das 10 máquinas será o mesmose uma pessoa votar as outras não votama não ser que cada um consiga um proxy diferente.. mas daí nem pensar..o mais conveniente é utilizar caracteres randômicosquando o usuário escolher uma resposta e votar, então envie os dados para uma tabela no banco de dados. Essa tabela servirá para armazenar temporariamente os dados.nessa tabela, grave um número ou alguma seqüência de caracteres gerados randomicamentepara prosseguir com o voto, o usuário deverá digitar esse númeroesse tipo de validação não impede o usuário de votar mais de uma vez, mas evita votos em massa.

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.