Ir para conteúdo

POWERED BY:

Arquivado

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

Tempter

Cookie em Enquete

Recommended Posts

Pessoal, to com uma enquete bacana, estou tentando deixar ela da forma que eu preciso mas encontrei alguns problemas.

 

1 - Não consigo remover a função de BLOQUEAR VOTOS por IP

2 - Não tenho a minima idéia de como colocar um sistema de BLOQUEI DE VOTOS por Cookie.

 

Alguem pode ajudar ?

Abraços

 

 

PHP

[*]...

Compartilhar este post


Link para o post
Compartilhar em outros sites

é facil XDpara travar usando cookie... simples na pagina que conta o voto você adiciona um:setcookie("votou", "sim", time()+60*60*24*30);e em cima de tudo poe um:if(isset($_COOKIE["votou"])){echo "ja votou";exit;}else{//comandos para votar;}entendeu como trava por cookie ? no caso o time()+60*60*24*30 expiraria em 30 dias XDe por ip é mais facil ainda XD (nao vi seu codigo porque to com preguisa) mais olha como eu faria:quando o cara votar eu guardo o ip dele no ip.txt, depois la em cima so dentro de um loop você verificar se o ip dele esta ali no txt, if($ip == $ip_no_db){echo "você ja votou";exit;}else{// comandos para votar}entendeu ?mais facil que parece ne XD[]'s

Compartilhar este post


Link para o post
Compartilhar em outros sites

Mas ta vendo como a coisa é diferente, eu aqui me matando e chega você e faz numa boa, isos que dá num saber nada, espero que o livro que eu compre de PHP possa melhorar meus conhecimentos :) Valeu memso cara.Vou tentar colocar aqui o que você criou no meio do que ja existe, pois o que eu não consigo é tirar o por IP pois ele já tem, quero tirar ele e colocar o por cookie.. :) t+Brigadão memso pela ajuda.Cleber

Compartilhar este post


Link para o post
Compartilhar em outros sites

heheh que nada cara.... o que conta nisso é tempo... se eu faco hoje um sisteminha de enquete rapidinho é porque a um tempo atras eu ja virei noites e noites para aprender ^^com o tempo você pega o jeito ! pode ficar sussa...tpo, você nao precisa tirar o do ip, você pode deixar os dois... mais tenha conciencia que nenhum deles é seguro =[o cookie fica salvo no pc do usuario, e pode ser apagado normalmente, ai no caso ele poderia votar de novoe o ip hoje em dia 70% é dinamico, acho que ip fixo hoje em dia so existe de servidores... de usuario é tudo dinamico mesmoou seja, se ele reconectar ele tera um novo ip, assim podendo votar de novo XD e ainda existe proxy tambemmais enquete nao é nada de alta seguranca da nasa que precise ser 100% seguro XD, acho que cookie + ip ja melhora um pouco[]'s

Compartilhar este post


Link para o post
Compartilhar em outros sites

VOU DEIXAR O if DO ip OS DOIS COM valor ZERO pra ele não funcionar, dai vou trabalhar só com ip memso...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu ateh hoje naum concordo usar IP em enquete, que o IP pra mim eh o que tem o maior problema, tipo imagina sua enquete seja de IP dai um cara que esteja num laboratorio da faculdade vote nela, o ssitema vai pegar o IP da faculdade e isso faria com que ninguem mais da faculdade conseguise votar na sua enquete.Eu sou a favor de utilizar cookies, beleza cookies o usuario pode apagar e votar denovo, mas tem muita gente que naum sabe disso....Mas o mais seguro mesmo no meu ponto de vista eh soh poder votar quem estiver logado... dai você pode controlar o voto por usuario..... Soh que eu naum recomendo enquete nesse sistema, pois ninguem vai loga soh pra votar....

Compartilhar este post


Link para o post
Compartilhar em outros sites

hehe nao é 100% tambem... eu posso criar 493284234823984923 de contas =]]o melhor é so poder votar usuarios com postes acima de 500, ai ainda tem como mais é bemmmmmmmmm dificil[]'s

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cra olha só o que fiz..

Peguei meu código, deixei sem validar pelo IP, ou sej, todo mundo vota quantas vezes quiser... dai coloquei o que você me passou por Cookie, e olha o que deu :

 

 

O QUE ESTÁ E NEGRITO É O QUE você ME PASSOU

 

PHP

[*]

[*]if(isset($_COOKIE["votou"])){

[*]

[*]echo "JA VOTOU";

[*]exit;

[*]

[*]

[*]}

[*]else

[*]{

[*]

[*]

[*] for( $i = 0; $i < count($handle_ip); $i++ ) { if( $handle_ip[$i] == $ip ) { $flag = 0; } }

[*]

[*] if( $flag == 0 )

[*] {

[*] clearstatcache(); $fp = fopen($file,"r"); $handle = fread($fp,filesize($file));

[*] fclose($fp); $lines = explode("#",$handle); $nlines = $lines[0];

[*]

[*] for( $i = 2; $i <= $nlines; $i++ ) { $lines[$i] = explode("|",$lines[$i]); }

[*] for( $i = 2; $i <= $nlines; $i++ ) { if( $choose == $i ) { $lines[$i][1]++; } }

[*] for( $i = 2; $i <= $nlines; $i++ ) { $lines[$i] = implode("|",$lines[$i]); }

[*]

[*] $handle = implode("#",$lines); $fp = fopen($file,"w+"); fputs($fp,$handle,strlen($handle)+1);

[*] fclose($fp); $handle_ip = implode("#",$handle_ip); $handle_ip .= $ip . "#"; $fp = fopen($file_ip,"w+");

[*] fputs($fp,$handle_ip,strlen($handle_ip)+1); fclose($fp);

[*]

[*] echo "VOTOU";

[*] }

[*]}

[*]

[*]setcookie("votou""sim", time()+60*60*24*30);

[*]

 

 

 

 

 

Retorna o seguinte erro:

 

PHP

[*]

[*]Warning: Cannot modify header information - 

[*]headers already sent by (output started at 

[*]c:\wamp\www\enquete\atualiza.php:41) in 

[*]c:\wamp\www\enquete\atualiza.php on line 45

[*]

 

 

O que devo fazer ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

hehe nao é 100% tambem... eu posso criar 493284234823984923 de contas =]]

 

o melhor é so poder votar usuarios com postes acima de 500, ai ainda tem como mais é bemmmmmmmmm dificil

 

[]'s

<{POST_SNAPBACK}>

O seu tb naum eh seguro :P pois imagina soh... se o cara jah for chato pra criar N contas ele cria essas N contas e posta 500x nelas ehheehhe

 

 

Tipo dai depende do cadastro do usuário, vai depender do nivel de cadastramento do usuário... eu criario um que soh cadastrase quando o CPF seria valido e naum repetido, e depois de confirmamento de pagamento do cadastro do usuário para pode votar hehehee...... minha enquete ia ter soh o meu voto, pois seria o voto de teste heheheheh...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Resolvi já, coloquei o : setcookie("votou", "sim", time()+60*60*24*30); pra dentro do primeiro IFvaleu mesmo pessoal

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.