Prévia do material em texto
PHP e MySQL Cookies e Sessões - Autenticação Cookies Você já deve ter vivido essa situação: Você acessa seu perfil em um site de relacionamentos e navega por ele por algum tempo. Depois você fecha seu navegador para terminar um trabalho que deixou para trás. Logo depois, você entra naquele site de relacionamentos novamente e, qual a sua surpresa quando percebe que o site já abre diretamente em seu perfil, sem que você precise digitar seu nome de login e sua senha novamente. Então você se pergunta: “Como isso é possível?”. A resposta está, primeiramente nos cookies. Eles são pequenos arquivos de texto que o próprio PHP grava em sua máquina, com informações relevantes para a aplicação (ex: seu login e sua senha, para que não tenha que logar-se novamente). Gravar um cookie é uma tarefa muito simples, é necessário apenas o uso da seguinte função: setcookie(“nomedocookie”,”valor a ser gravado”); Ex: vamos gravar um cookie contendo a data atual: $datadehoje = date(“d-m-Y”); setcookie(“datadehoje”,$datadehoje); Este cookie agora está gravado na máquina do usuário, e contém uma string com a data atual. Todos os cookies podem ser acessados através do array superglobal $_COOKIE[] da seguinte forma: $datadehoje = $_COOKIE['datadehoje']; Para que um cookie seja excluído, basta utilizar novamente a função setcookie(), porém sem nenhum valor como conteúdo: setcookie(“datadehoje”); Isso fará com que o cookie seja apagado. O uso de cookies pode parecer uma boa prática a princípio, mas em muitos casos, os usuários configuram os navegadores para não aceitarem cookies, o que dificulta a implementação dos mesmos. Sessões Uma alternativa ao uso de cookies é o uso de sessões. Seu uso é idêntico ao dos cookies, porém, os dados não ficam gravados no computador do usuário. Qualquer navegador aceita sessão, por isso torna-se uma boa prática criar autenticação utilizando sesões. Para criar uma sessão, devemos adicionar em nossos scripts PHP a função session_start(). Recomenda-se que ela esteja nas primeiras linhas do script, antes de qualquer processamento: <?php session_start(); ?> Para registrar uma sessão, podemos inserir dados diretamente no array superglobal $_SESSION[], da seguinte forma: <?php session_start(); $_SESSION['login'] = $login; ?> 73 Aplicações em PHP e MySQL Cookies e Sessões - Autenticação Cookies Sessões