• Nenhum resultado encontrado

4. Enquadramento Científico da Intervenção

4.2. Conceitos Científicos

4.2.5. Cookies

As cookies afiguram-se como a outra potencial alternativa de assegurar a manutenção de estado de uma conexão web. Estas permitem armazenar informações relativas a um determinado perfil de utilização (cor de fundo, idioma, navegação, …), removendo o anonimato do ato de navegar pela internet. Estabelecem, desta forma, uma ligação com o servidor que permite personalizar o website em consonância com as caraterísticas do utilizador. Serrão et al. (2009) referem assim que, “(…) as cookies são uma espécie de variáveis que ficam guardadas no browser e são enviadas de um servidor, permitindo posteriormente que browser e servidor comuniquem” (p. 313). Geridas pelos browsers dos computadores cliente, desaconselha-se o registo de palavras-chave (passwords) ou outros dados pessoais e sensíveis com recurso a cookies dado isso implicar a transmissão de dados que doutra forma ficarão cativos no servidor através das sessões. As cookies são desta forma sensíveis às restrições/políticas de segurança do lado do cliente, devendo os arquitetos de sistemas e programadores conceber websites que sejam capazes de funcionar mesmo perante a inexistência de cookies. As cookies complementam as sessões, podendo ser utilizadas em conjunto no assegurar a manutenção de estado de uma determinada aplicação. A aplicação de sessões ou cookies depende assim da função ou propósito do algoritmo concebido pelo programador, podendo existir sinergias entre estas. Em baixo, apresentam-se as principais instruções associadas ao conceito de cookies em PHP:

1. Criar e modificar cookies

Para criar e modificar cookies em PHP utiliza-se a função setcookie()18. A função setcookie() define uma cookie a ser enviada juntamente com o resto dos cabeçalhos HTTP. Esta deverá, assim, ser chamada antes de qualquer outra informação ser enviada para o browser, ou seja, deverá ser declarada e manipulada antes da tag <html>. Recomenda-se assim que a função setcookie() incorpore os seguintes parâmetros: nome da cookie, valor da cookie e por fim, intervalo de tempo para a cookie expirar. A cookie deverá, desta forma, ser declarada com base na instrução que se apresenta em baixo:

18 Para uma descrição detalhada da função setcookie() aceder ao manual online do PHP disponível em, http://php.net/manual/pt_BR/function.setcookie.php.

setcookie (‘nome_cookie’, ‘valor_cookie’, ‘data_intervalo_tempo_expirar’);

Aos parâmetros que se apresentam em cima relativos à função setcookie() acrescentam-se ainda os seguintes parâmetros opcionais:

 path (Especifica o caminho onde se poderá encontrar a cookie. O valor por defeito constituí o diretório onde a cookie se encontra a ser configurada);

 domain (Domínio para o qual a cookie estará disponível. Caso se pretenda que a cookie fica unicamente disponível para um determinado domínio e respetivos subdomínios então tal, deverá ser expressamente indicado. Assim, caso se pretenda que a cookie fique apenas acessível às páginas do domínio e subdomínio exemplo.com tal, deverá ser expresso neste parâmetro);

 secure (Especifica se os dados armazenados na cookie são transmitidos do computador cliente para o servidor através de uma ligação segura ou não. Caso o parâmetro tenha definido o valor booleano true, então os dados armazenados na cookie só serão transmitidos para o servidor caso exista uma ligação segura entre estes - HTTPS);

 httponly (Especifica se a cookie ficará exclusivamente acessível através do protocolo HTTP ou não. Caso o parâmetro booleano desta seja definido com o valor true, os dados armazenados na cookie só poderão ser acedidos através do protocolo HTTP. O acesso por parte doutros protocolos e linguagens de programação fica restrito, impossibilitando o manuseamento dos dados, por exemplo, por parte do JavaScript).

A função setcookie() apresenta, desta maneira, a sintaxe que se expõe em baixo:

setcookie(nome_cookie,[valor_cookie],[data_intervalo_t empo_expirar],[path],[domain],[secure],[httponly]);

De notar que, os parêntesis retos [] encontram-se associados aos parâmetros opcionais da função.

Exemplo:

Criação de uma cookie de nome ‘jogador’ com o valor ‘Ronaldo’ a expirar ao fim de duas horas.

<?php

//A cookie irá expirar ao fim de duas horas ou seja, 7200 segundos

$expira = time() + 7200;

setcookie (‘jogador’, ‘Ronaldo’, $expira); ?>

2. Aceder aos valores guardados pelas cookies

Para aceder aos valores guardados pelas cookies basta pura e simplesmente chamá-las. O acesso ocorre com recurso à evocação do array associativo $_COOKIE (letras maiúsculas).

Exemplo:

Acesso aos dados guardados pela cookie ‘jogador’. <?php

if (isset ($_COOKIE[‘jogador’])){

$valor_cookie = $_COOKIE [‘jogador’];

echo $valor_cookie;

/*A página web onde figura este script imprimirá para o ecrã o valor, Ronaldo*/

} ?>

De notar que, recorre-se ao uso da função isset()19 de forma a averiguar se a

cookie jogador realmente existe no seio do browser do computador cliente.

19 Para uma descrição detalhada da função isset() aceder ao manual online do PHP disponível em, http://php.net/manual/pt_BR/function.isset.php.

3. Eliminar cookies

Eliminar cookies revela-se um ato bastante simples que implica mexer no parâmetro data/intervalo de tempo para expirar destas. Configurando este parâmetro para o passado conduz a que o browser elimine a cookie em questão.

Exemplo:

<?php

/*Partindo do princípio que existe alojada no browser do computador cliente uma cookie de nome ‘jogador’, vamos alterar o parâmetro data/intervalo de tempo desta para expirar recuando uma hora para o passado (time()20 - 3600). 1 hora = 3600 segundos*/

$expira = time() – 3600;

setcookie(‘jogador’, ‘ ’, $expira);

//A cookie ‘jogador’ será eliminada pelo browser do computador cliente

?>

Como boa prática de programação, sempre que se pretenda eliminar uma cookie dever-se-á deixar o parâmetro valor desta a vazio (‘’).

Documentos relacionados