Saturday, 09 de July de 2005
E ai, galera? todo mundo blza? hoje vou ensinar a todos a mexerem com COOKIES, os famosos arquivos-espiões, utilizando PHP, claro.
Vamos começar:
O que são cookies?
- Cookies são arquivos-texto (espiões) que são abertos (criados) no computador de usuários para se recuperar dados de qualquer página, os cookies podem ser vistos pelos donos das máquinas, e ser editado (possivelmente) por eles, mas, isso não é um grande problema pois podemos (pelo PHP) ver se os cookies são válidos (caso queiramos validá-los), o problema é que existem navegadores como o IE e o NetsCape que proibem a entrada destes arquivos em um computador, o ideal seria o uso de Sessions mesmo com suas desvantagens
O que podemos fazer com o cookies?
- Com os cookies pode ser feito "TUDO" que sua imaginação permitir, mas as principais causas que eles são utilizadas são:
- Verificar se um usuário já logou no site (isto é, validar se o cookie existe no computador)
- Verificar se um usuário já votou na enquete do site ( || )
- Carrinho de compras para armazenar os produtos comprados
Criando cookies com o php
- Criar um cookie com o php é muito simples, a sintaxe básica da criação é:
setcookie("nome_do_cookie", "valor_do_cookie");
Lembrando que este trecho deve estar no inicio do código da página, até mesmo antes de TAGS HTML.
O cookie criado será "excluído" automaticamente, ao se fechar o Browser
Para criar um cookie válido por 48 horas fazemos:
[cf<?
setcookie("usuário", $user, time()+172800);
?>[/cf]
O cookie criado tem o nome de Usuário com o valor $user, que seria Rafael (vamos supor que tenha o valor de rafael) e será excluído depois de 48 horas que ficar no computador do usuário (48 horas são iguais a 172800 segundos), mesmo com o fechamento do browser!
Excluindo um cookie com php
- Para se excluir um cookie com PHP antes do tempo determinado ou antes do fechamento do browser, fazemos o seguinte (supondo que queremos excluir o cookie usuário):
setcookie("usuário");
O comando setcookie também exclui um cookie, mas para exluir-mos devemos colocar somente o nome do cookie e não o seu valor, por isso tome cuidado, se quiser criar um cookie NULO (sem valor) fazemos o seguinte:
setcookie("usuário", "");
Seria criado o cookie usuário com o valor nulo!
Podemos também excluir um cookie por uma variável (para se excluir um cookie também deve estar no topo da pagina o setcookie) por exemplo, vamos dar o nome cookie pra um campo de texto, o usuário digita no campo "uusário" para deletar-mos o cookie com o nome digitado no campo fazemos o seguinte:
setcookie($usuario);
Simples, não?
Abrindo cookies com o PHP
- Para abrir um cookie no PHP usamos o array superglobal $_COOKIE, entre chaves e aspas o nome do cookie! para ler-mos um cookie (com o nome idade, supondo que ele tenha o valor 21) fazemos o seguinte:
$_COOKIE["idade"];
Para exibir o conteudo dele com php fazemos:
echo "O valor do cookie é:" . $_COOKIE["idade"];
?>
OU
echo $_COOKIE["idade"];
?>
Isso seria útil para ver se uma senha estivesse de acordo com o usuário ou se existe um registro em um banco de dados ou file TXT com a idade 21!
Verificando se um cookie existe
- A sintaxe para descobrir se um cookie existe é a segiunte:
if(isset($_COOKIE["nome"]))
Para verificar-mos se um cookie existe com php fazemos:
$nome_do_cookie = "nome";
if(isset($_COOKIE[$nome_do_cookie]))
{
echo "O cookie $nome_do_cookie existe! ";
}
else
{
echo "O cookie $nome_do_cookie não existe!";
}
?>
Se o cookie não existisse seria mostrada a mensagem: O cookie nome não existe, e se existisse apareceria: O cookie nome não existe!
Criando cookies com caminho, dominio e seguro
- Para se criar um cookie com o nome IDADE com segurança (a página deve ser HTTPS e no cookie deve ter um valor 1), com um caminho específico do dominio que o cookie estará válido, e um domínio específico, válido por 48 horas fazemos:
setcookie("idade", "21", time()+172800, "/dir", "www.google.com.br", "1");
Criamos um cookie com o nome "idade" com o valor 21 válido por 48 horas, válido somente para o diretório /dir com o domínio google e com uma conexão segura (melhor, pois o IE aceita mais cookies seguros), pois utilizamos o valor 1 que indica que o cookie é seguro se fosse utilzado 0 ele seria inseguro, isso seria muito útil caso quisesse enviar cookies seguros com HTTPS ou cookies válidos só para o diretório "user" por exemplo!
Erros
Caso houve algum erro com o script entre em contato, mas , a idéia é essa mesma, se tiver dúvida é só falar! flw!
Logo colocarei um artigo de como criar um sistema de username e senha com PHP/Cookies/MySql com até caixa de mensagens! e também o uso de sessions!
Marcelo
- 26 de March de 2009 - 13:05
Eu tenho um site e e tem um sistema de login com sessios mas queria colocar um sistema de bloqueio de usuarios indesejados, que possibilitase bloquear a maquina por cookies, assim impediria o usuario de criar outra conta,pelo menos por um tempo,caso seja por exemplo um lan house, eu sei que nao é totalmente eficiente mas seria mais uma coisa p/ atrapalhar.
como seria esse sistema?
Para adicionar um comentário você deve efetuar o
login