Ir ao conteúdo
  • Cadastre-se

PHP Mensagem de consentimento de Cookies (Privacidade e etc)


Posts recomendados

Tá tudo funcionando, só gostaria de saber se fiz da melhor forma a parte do PHP

<?php if(!isset($_COOKIE['acceptCookie'])) { 

Segue todo meu esqueleto e projeto html.

<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
    <script src="https://code.jquery.com/jquery-3.5.1.js"></script>

    <title>Cookie Consentimento</title>
</head>


<body>
<!-- Estilização da página de teste -->    
<style type="text/css">
body{
    background: #ddd;
}    
#cookieConsent {
    color: #000;
    background-color: #f9f9f9;
    padding: 40px;
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    display: none;
    z-index: 9999;
}
</style>
<!-- Fimm da Estilização da página de teste -->    

<!-- Script da Mensagem de consentimento de cookie --> 
<script type="text/javascript">
$(document).ready(function(){
//Faz aparecer o alerta de cookie
setTimeout(function () {$("#cookieConsent").fadeIn(200);}, 4000);
//Se aceitou o cookie, cria um cookie com valor true
$(document).on('click','.ciente', function(){
var aceito = true;
$.post("cookies.php", {okCookie: aceito}, function(retorno){
//alert(retorno);
});
//Fecha o alerta de cookie
$("#cookieConsent").fadeOut(200);
});
});//$(document).ready(function(){
</script>
<!-- Fim do Script da Mensagem de consentimento de cookie --> 

<!-- Msg de consentimento na tela --> 
<?php if(!isset($_COOKIE['acceptCookie'])) { //verifica se já foi aceito/ciente ?>
<div id="cookieConsent">
Usamos cookies blablablabla....&nbsp;&nbsp;
<button class="ciente">Estou ciente</button>
</div>
<?php } ?>
<!-- Fim da Msg de consentimento na tela --> 
</body>
</html>

Segue como crio o meu cookie em cookies.php:

<?php
if( $_SERVER['REQUEST_METHOD'] == 'POST') {
// Cria o novo cookie para durar seis horas
setcookie('acceptCookie', $_POST["okCookie"], (time() + (6 * 3600)));
//echo $_COOKIE['acceptCookie']; //Exibe no alert
}


 

adicionado 2 minutos depois

Gostaria de saber sobre a parte do Msg de <!-- Msg de consentimento na tela -->, tipo eu faço o fade in, mesmo tendo o cookie e somente lá na <!-- Msg de consentimento na tela -->, que verifico se já foi aceito. Alguma sugestão ou posso deixar assim?

Link para o post
Compartilhar em outros sites
  • Membro VIP

Boa noite @assinante,

Você pode usar o local.storage para fazer a confirmação antes de armazenar os cookies.

 

Grande abraço!

  • Curtir 1
Link para o post
Compartilhar em outros sites
  • Membro VIP

Olá @assinante,

 

Depende, para um cookie de consentimento e permissão sim, não tem problema o mesmo ser público, mas deve ter cuidado com os próximos cookies, principalmente os de tokens e sessões, pois não adianta nada avisar sobre a privacidade e não fazer a proteção! Mas tirando isso, esse set não vejo problemas!

 

Grande abraço!

  • Amei 1
Link para o post
Compartilhar em outros sites
  • Membro VIP

Olá @assinante,

 

para a segurança dos cookies privados, utilize sempre o setcookie, tenha certeza de utilizar aos atributos HTTPOnly, SameSite, URL definida para acesso somente do seu site, utilize também os atributos Secure e Strict!

 

Caso precise de ajuda não hesite em perguntar!

 

Grande abraço!

  • Obrigado 1
Link para o post
Compartilhar em outros sites
  • Membro VIP
9 minutos atrás, assinante disse:

Obrigado! Nesse projeto acima já uso setcookie, logo acho que é um bom caminho! Mas como usar HTTPOnly no php?

 

Olá @assinante,

 

Você deve alterar as propriedades no php.ini para poder usar as propriedades Secure e HTTPOnly.

 

Após ativar no php.ini basta setar como true no setcookie.

 

php.ini:

session.cookie_httponly = true;

session.cookie_secure = true;

session.use_only_cookies = true;

 

Grande abraço!

  • Curtir 1
Link para o post
Compartilhar em outros sites

@ArThDsL  Prometo, último dúvida kkkk

 

Quando eu mundo essa região em negrito e em azul: $.post("cookies.php", {okCookie: aceito}, function(retorno){ para $.post("system/cookies.php", {okCookie: aceito}, function(retorno){

 

O cookie deixa de existir na minha index, quando o arquivo cookies.php está na mesma pasta da index funciona.

adicionado 0 minutos depois

Agradeço pela suporte :)

adicionado 0 minutos depois

o que pode ser?

 

Link para o post
Compartilhar em outros sites
  • Membro VIP

Olá @assinante,

 

você setou as propriedades para true que falei nesse post:

38 minutos atrás, ArThDsL disse:

Olá @assinante,

 

para a segurança dos cookies privados, utilize sempre o setcookie, tenha certeza de utilizar aos atributos HTTPOnly, SameSite, URL definida para acesso somente do seu site, utilize também os atributos Secure e Strict!

 

Caso precise de ajuda não hesite em perguntar!

 

Grande abraço!

 

Fico no aguardo, grande abraço!

  • Obrigado 1
Link para o post
Compartilhar em outros sites

@DiF Amigo, perdão por mencionar você. 

 

Tô muito precisando saber sobre uma situação:

 

Esquema dos arquivos e pastas:

diretório A

|_index.php    

|__diretório B

     |_ cookies.php    

 

Tenho esse diretório A, dentro dele tem minha index.php, ela tem um javascript que quando um botão é clicado manda um valor com o método POST para o arquivo cookies.php, esse está dentro desse diretório B (como demostrado acima). O problema é que o cookie setado em cookies.php não "desce" para a pasta do diretório A.


Rapaz, salva nisso por favor!

 

@ArThDsL também agradeço pela ajuda :)

adicionado 6 minutos depois
$.post("cookies.php", {okCookie: aceito}, function(retorno){

O projeto apresentado estava funcionando, porém mudei isso acima para:

$.post("diretorioB/cookies.php", {okCookie: aceito}, function(retorno){

 

Percebeu? ao mudar o cookies.php de pasta nasce o problema!

 

Espero que meu problema tenha ficado claro para que você consiga me salvar ! Valeu :)

Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

Aprenda a ler resistores e capacitores

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!