A troca de dados pessoais suscita grandes preocupações entre os utilizadores da Internet.
COOKIES
A segurança proporcionada pelos Browsers é garantida atualmente por protocolo TLS (Transport Layer Security), que utiliza a criptografia nas comunicações trocadas entre o cliente e o servidor web, impossibilitando assim a intercepção das mesmas.
HTTPS (Hyper Text Transfer Protocol Secure) é uma implementação do protocolo HTTP sobre uma camada adicional de segurança que utiliza o protocolo segurança TLS (substituiu protocolo SSL).
Podemos dizer que HTTPS = HTTP + TLS
Os cookies foram desenvolvidos em 1994 por Lou Montulli e John Giannandrea, programadores da Netscape Communications, com o objetivo de determinar se os visitantes do site da Netscape tinham acedido anteriormente.
Através função setcookie
- Um cookie é pequeno ficheiros de texto específico para cada utilizador e Browser, que é armazenados no computador ou smartphone do utilizador
- O cookie é criado/definido quando o utilizador visita um website pela primeira vez, com o objetivo de guardar as preferências de navegação do utilizador
- Os cookies são geridos pelos browsers: a maioria browsers oferece ferramentas para ver e editar/apagar estes pequenos ficheiros;
- cookies têm um tempo de vida limitado
Existem 2 tipos de cookies:
- Cookies originais/primários: criados pelo website que o utilizador visita.
- Cookies de terceiros: criados por outros websites. Um site que um utilizador visita pode incorporar conteúdo de outros sites, por exemplo, imagens, anúncios e texto. Qualquer um destes sites pode guardar cookies e outros dados para personalizar a sua experiência.
Criar uma Cookie em PHP
Através função setcookie
setcookie(name, value, expire, path, domain, secure, httponly);
| Parâmetro | Descrição |
|---|---|
| name | Necessário. Especifica o nome do cookie |
| value | Opcional. Especifica o valor do cookie |
| expire | Opcional. Especifica quando o cookie expira. Exemplo: time()+ 60*60*24*30 corresponde a 30 dias. Se parâmetro é omitido ou colocado a 0, o cookie deverá expirar quando fechar o Browser.the session Por defeito é 0 |
| path | Opcional. Especifica o caminho do server do cookie. If set to "/", the cookie will be available within the entire domain. If set to "/php/", the cookie will only be available within the php directory and all sub-directories of php. The default value is the current directory that the cookie is being set in |
| domain | Optional. Specifies the domain name of the cookie. To make the cookie available on all subdomains of example.com, set domain to "example.com". Setting it to www.example.com will make the cookie only available in the www subdomain |
| secure | Optional. Specifies whether or not the cookie should only be transmitted over a secure HTTPS connection. TRUE indicates that the cookie will only be set if a secure connection exists. Default is FALSE |
| httponly | Optional. If set to TRUE the cookie will be accessible only through the HTTP protocol (the cookie will not be accessible by scripting languages). This setting can help to reduce identity theft through XSS attacks. Default is FALSE |
a função
setcookie() deve aparecer ANTES da tag <html>Script:
1- Criar o script com tempo de vida limitado a 1 mês (60 seg* 60 minutos * 24horas *30 dias)
2- Correr o script no Browser ;
3- será criado a Cookie "MyCookie"
4 - visualizar a cookie no localhost
Visualizar a Cookie
Definições do Browser (definições--> avançadas--> privacidade e segurança
-->Definições de sites
--> Cookies de Terceiros
JÁ NÃO se VISUALIZA COOKIES DESTA FORMA ABAIXO
Definições do Browser
Ler Cookies
Sempre que é criada uma COOKIE, é criada uma variável global,
um array associativo $_COOKIE com o índice (1ºargumento) e o valor (2ºargumento)
Exemplo anterior
RELEMBRAR:
a função
setcookie() deve aparecer ANTES da tag <html>EXERCÍCIO:
1- criar o script que cria a cookie;
2- de seguida, criar outro script que verifica se a cookie já existe (Utilização da função isset para verificar se a Cookie está criada) e escreve o nome e o conteúdo da Cookie através da utilização do array associativo $_COOKIE
// 86400 = 1 day
Primeira visita ao site, $_COOKIE["$nome"] = 1 e depois sempre que faça o refresh da página website, o valor do número de visitas será incrementado;
Visualizar todas as Cookies criadas até ao momento
Faça reload da página para visualizar o valor da Cookie
Cookie - exercício Contador de Visitas
Caso não exista a Cookie, esta é criada com valor igual a 1;
caso contrário, a variável $numeroVisitas será igual ao valor da Cookie, sendo incrementada 1 unidade sempre que faz reload à página (F5)
Primeira visita ao site, $_COOKIE["$nome"] = 1 e depois sempre que faça o refresh da página website, o valor do número de visitas será incrementado;
Visualizar todas as Cookies criadas até ao momento
usar o ciclo foreach ou print_r
Visualiza todas os dados contidos no array $_COOKIE
APAGAR COOKIES
setcookie (nome, " ", time() - 3600 );
// colocar tempo de expiração negativo ou definir o valor como vazio ''
As COOKIES e as SESSÕES têm de ser criadas/declaradas antes de qualquer tag HTML
- Permitir um login automático, evitando assim a necessidade de inserir novamente as credenciais de autenticação;
- Personalizar o conteúdo de um website, armazenando as suas preferências, de forma a que o site possa parecer diferente para cada utilizador;
- Manter o controlo de artigos adicionados ao carrinho de compras;
- Registar a atividade do utilizador, tais como histórico de navegação, clique em determinados botões da página, etc. (pplware)

- O cookie é criado/definido quando o utilizador visita um determinado site pela primeira vez.
Daí em diante, cada vez que o utilizador carregar o website, o navegador envia o cookie para o servidor web de modo a poder manter o controlo da atividade anterior do utilizador.
Um exemplo comum é um cookie de autenticação. Quando o utilizador efetua login num determinado website, este devolve um cookie que identifica a conta do utilizador e confirma que o login foi realizado com sucesso. Quando existir nova interação com o site, ele vai usar esse cookie como confirmação de que o utilizador em questão é o mesmo que fez o login.
Os cookies não são nenhum software nem vírus, uma vez que eles não são capazes de auto executar ou de se espalharem, como outros vírus podem fazer, no entanto, estes são capazes de rastrear a atividade de navegação do utilizador.
Que tipo de cookies existem?
Cookies de Sessão
São temporários caso nenhuma data de término seja especificada aquando da sua criação. Estes ficam armazenados na memória do Browser apenas até que este seja fechado, Representam menos risco em termos de segurança e são usados para os carrinhos de compras, de forma a controlar os elementos da página mostrados a um utilizador durante uma única visita.
Cookies Permanentes
De longo prazo e marcados pelo emissor com uma data de validade, são armazenados pelo navegador, mesmo depois de fechado. Estes são enviados para o servidor da página web sempre que visitar o site que emitiu o cookie ou sempre que visualizar qualquer site que contenha um recurso, como um anúncio, cujo emissor do cookie é o mesmo.
Assim, os cookies permanentes rastreiam a atividade do utilizador, não só no site que o emitiu, mas também em qualquer outro que inclua um recurso emitido pelo mesmo.
Sites como Google e Facebook usam este mecanismo para criar um registo de atividade do utilizador através de vários sites. (fonte pplware)
Sites como Google e Facebook usam este mecanismo para criar um registo de atividade do utilizador através de vários sites. (fonte pplware)
Para que fins utilizamos cookies? (fonte Altice)
- Cookies estritamente necessários - Permitem que navegue no website e utilize as suas aplicações, bem como aceder a áreas seguras do website. Sem estes cookies, os serviços que tenha requerido não podem ser prestados.
- Cookies analíticos - São utilizados anonimamente para efeitos de criação e análise de estatísticas, no sentido de melhorar o funcionamento do website.
- Cookies de funcionalidade - Guardam as preferências do utilizador relativamente à utilização do site, para que não seja necessário voltar a configurar o site cada vez que o visita.
- Cookies de terceiros - Medem o sucesso de aplicações e a eficácia da publicidade de terceiros. Podem também ser utilizados no sentido de personalizar um widget com dados do utilizador.
Cookies de publicidade - Direcionam a publicidade em função dos interesses de cada utilizador, por forma a direcionar as campanhas publicitárias tendo em conta os gostos dos utilizadores, sendo que, além disso, limitam a quantidade de vezes que vê o anúncio, ajudando a medir a eficácia da publicidade e o -sucesso da organização do website.
--------------------------------------------Exemplo de Cookies utilizados pela TAP Portugal
Cookie
|
Nome
|
Finalidade
|
Mais Informações
|
Google
Maps
|
SID
SAPISID
APISID
SSID
HSID NID
PREF
|
Cookies utilizados pelo Google para
saber quantas pessoas estão a usar o
Google Maps.
|
Clique aqui para
saber mais sobre
a proteção da
privacidade no
Google
|
Google
Analytics
|
_utma
_utmb
_utmc
_utmz
_unam
|
Estes cookies são utilizados para
recolher informações sobre como os
visitantes utilizam o nosso sítio Web.
Usamos a informação para criar
relatórios e para nos ajudar a melhorar
o sítio. Os cookies recolhem
informações de forma anónima,
incluindo o número de visitantes, os
sítios de onde provêm, as páginas que
visitaram, e o número de vezes que um item é partilhado e quantas novas
visitas se devem a essa partilha.
|
Possíveis propriedades dos Cookies
ver https://eduardogadotti.com/2021/11/28/cookies-e-sessao/#XSS
Os cookies possuem 3 propriedades que são possíveis fazer gestão, sendo todas para o tratamento de questões de segurança.
- HttpOnly
Ao
ativar esta propriedade
, faz com que código que está rodando seu browser do sistema, não consiga aceder diretamente a informação contida no cookie. Em outras palavras, as rotinas javascript de front-end não poderão aceder à informação do cookie.
- Secure
Com a propriedade ativa, irá mitigar a possibilidade de interceptação da informação através de tráfego não criptografado (HTTP), quando há exploração de Men in th Midle (MitM).
Cookie não será enviado ou recebido caso as requisições não estejam trafegando através de HTTPS.
O atributo possui 3 possíveis valores: None, Lax e Strict.
Recomendação é que sempre se ative as propriedades httpOnly e secure.
Recuperar ou não o valor do cookie usando JavaScript
Criar cookies seguros utilizando HttpOnly
com atributo o HttpOnly "TRUE" não é possível recuperar o cookie com o JavaScript
EXEMPLO
setcookie("NewCookie", "NEW cookie prof ester", time() + 3600*24, "/php/m5", "localhost", TRUE, TRUE);
$secure = true; // if you only want to receive the cookie over HTTPS
$httponly = true; // prevent JavaScript access to session cookie
- As SESSION's (sessões) são pequenos ficheiros de texto guardados na pasta c:\xampp\tmp no servidor web (Apache) e não no cliente (Browser).
- Estes ficheiros não podem ser acedidos pelo utilizador uma vez que estão guardados no servidor web
- Quando se cria uma sessão é também criado uma Cookie de sessão (chamada PHPSESSID), com informação do ID da sessão no servidor Web.
- é criada uma Variável Global, um array associativo $_SESSION
- SESSION's são muito utilizadas para autenticação através de Login e para controlo de acesso a determinadas páginas web por parte dos utilizadores.
Criar e Usar uma SESSÃO
As SESSÕES têm de ser criadas/declaradas antes de qualquer tag HTML
1. Iniciar/Criar uma session:
utilizar a função session_start();
2. Definir as variáveis de Sessão:
usar Variável Global $_SESSION
Exemplo: $_SESSION["nome_variavel"]= "frase " ;
3. Executar o script no Browser ...
EXEMPLO de criação de uma SESSION:
Quando se cria uma sessão é criado o ficheiro da sessão na pasta c:\xampp\tmp\ e também é criado o COOKIE de SESSÃO (PHPSESSID)
neste código há 2 variáveis de sessão
$_SESSION["utilizador"] e $_SESSION["password"])
que lhe foram atribuídos determinados conteúdo
$_SESSION["utilizador"] ="Ester" e $_SESSION["password"]="1234"
Exemplo criação de uma SESSION e visualização das variáveis globais:
temos um script em PHP que inicializa 2 variáveis de sessão e logo a seguir escreve os dados dessas variáveis de sessão
EXECUTAR O SCRIPT no Browser para visualizar as sessões
ou também pode utilizar a função print_r($_SESSION)
VISUALIZAÇÃO DA SESSION no SERVIDOR
o ficheiro da SESSION está guardado c:\xampp\tmp no servidor Web (WampServer na pasta c:\wamp\tmp )
JÁ NÃO se VISUALIZA COOKIES DESTA FORMA ABAIXO
-----------------Após fechar o Browser, este cookie PHPSESSID é eliminado.-------
RESUMINDO, podemos dizer que
------------------------------------------------------------------------------------
Uma SESSION é:
- um ficheiro texto que guarda dados da sessão no servidor web (pasta c:\xampp\tmp)
- e gera o Cookie (PHPSESSID) contendo o ID da sessão e existe enquanto o Browser está aberto
CRIAR OUTRA SESSÃO
Visualizar o ID da sessão
função session_id() é usado para obter o id da sessão
para a sessão atual. Apagar dados da variável global
unset ($_SESSION['nome']);
é necessário colocar a session_start() para usar as variáveis da sessão
Eliminar ficheiro na pasta do servidor web
Sistema de login simples em PHP link

Sem comentários:
Enviar um comentário