;(function() { window.createMeasureObserver = (measureName) => { var markPrefix = `_uol-measure-${measureName}-${new Date().getTime()}`; performance.mark(`${markPrefix}-start`); return { end: function() { performance.mark(`${markPrefix}-end`); performance.measure(`uol-measure-${measureName}`, `${markPrefix}-start`, `${markPrefix}-end`); performance.clearMarks(`${markPrefix}-start`); performance.clearMarks(`${markPrefix}-end`); } } }; /** * Gerenciador de eventos */ window.gevent = { stack: [], RUN_ONCE: true, on: function(name, callback, once) { this.stack.push([name, callback, !!once]); }, emit: function(name, args) { for (var i = this.stack.length, item; i--;) { item = this.stack[i]; if (item[0] === name) { item[1](args); if (item[2]) { this.stack.splice(i, 1); } } } } }; var runningSearch = false; var hadAnEvent = true; var elementsToWatch = window.elementsToWatch = new Map(); var innerHeight = window.innerHeight; // timestamp da última rodada do requestAnimationFrame // É usado para limitar a procura por elementos visíveis. var lastAnimationTS = 0; // verifica se elemento está no viewport do usuário var isElementInViewport = function(el) { var rect = el.getBoundingClientRect(); var clientHeight = window.innerHeight || document.documentElement.clientHeight; // renderizando antes, evitando troca de conteúdo visível no chartbeat-related-content if(el.className.includes('related-content-front')) return true; // garante que usa ao mínimo 280px de margem para fazer o lazyload var margin = clientHeight + Math.max(280, clientHeight * 0.2); // se a base do componente está acima da altura da tela do usuário, está oculto if(rect.bottom < 0 && rect.bottom > margin * -1) { return false; } // se o topo do elemento está abaixo da altura da tela do usuário, está oculto if(rect.top > margin) { return false; } // se a posição do topo é negativa, verifica se a altura dele ainda // compensa o que já foi scrollado if(rect.top < 0 && rect.height + rect.top < 0) { return false; } return true; }; var asynxNextFreeTime = () => { return new Promise((resolve) => { if(window.requestIdleCallback) { window.requestIdleCallback(resolve, { timeout: 5000, }); } else { window.requestAnimationFrame(resolve); } }); }; var asyncValidateIfElIsInViewPort = function(promise, el) { return promise.then(() => { if(el) { if(isElementInViewport(el) == true) { const cb = elementsToWatch.get(el); // remove da lista para não ser disparado novamente elementsToWatch.delete(el); cb(); } } }).then(asynxNextFreeTime); }; // inicia o fluxo de procura de elementos procurados var look = function() { if(window.requestIdleCallback) { window.requestIdleCallback(findByVisibleElements, { timeout: 5000, }); } else { window.requestAnimationFrame(findByVisibleElements); } }; var findByVisibleElements = function(ts) { var elapsedSinceLast = ts - lastAnimationTS; // se não teve nenhum evento que possa alterar a página if(hadAnEvent == false) { return look(); } if(elementsToWatch.size == 0) { return look(); } if(runningSearch == true) { return look(); } // procura por elementos visíveis apenas 5x/seg if(elapsedSinceLast < 1000/5) { return look(); } // atualiza o último ts lastAnimationTS = ts; // reseta status de scroll para não entrar novamente aqui hadAnEvent = false; // indica que está rodando a procura por elementos no viewport runningSearch = true; const done = Array.from(elementsToWatch.keys()).reduce(asyncValidateIfElIsInViewPort, Promise.resolve()); // obtém todos os elementos que podem ter view contabilizados //elementsToWatch.forEach(function(cb, el) { // if(isElementInViewport(el) == true) { // // remove da lista para não ser disparado novamente // elementsToWatch.delete(el); // cb(el); // } //}); done.then(function() { runningSearch = false; }); // reinicia o fluxo de procura look(); }; /** * Quando o elemento `el` entrar no viewport (-20%), cb será disparado. */ window.lazyload = function(el, cb) { if(el.nodeType != Node.ELEMENT_NODE) { throw new Error("element parameter should be a Element Node"); } if(typeof cb !== 'function') { throw new Error("callback parameter should be a Function"); } elementsToWatch.set(el, cb); } var setEvent = function() { hadAnEvent = true; }; window.addEventListener('scroll', setEvent, { capture: true, ive: true }); window.addEventListener('click', setEvent, { ive: true }); window.addEventListener('resize', setEvent, { ive: true }); window.addEventListener('load', setEvent, { once: true, ive: true }); window.addEventListener('DOMContentLoaded', setEvent, { once: true, ive: true }); window.gevent.on('allJSLoadedAndCreated', setEvent, window.gevent.RUN_ONCE); // inicia a validação look(); })();
  • AssineUOL
Topo

Como mandar nudes com segurança? Veja 3 conselhos de quem manja

Arte UOL
Imagem: Arte UOL

Marcos Bonfim

Colaboração de Tilt

06/07/2021 04h00Atualizada em 06/07/2021 14h20

Seja a pessoa cringe ou de outras gerações, um tema que sempre gera boas discussões entre adeptos e os mais receosos é o envio de nudes. E se foto vazar na internet?

Alguns cuidados como não mostrar o rosto, tatuagens ou algo que identifique as pessoas envolvidas estão entre as principais recomendações. Mas existem outras dicas que devem ser seguidas para tornar o envio de nudes o mais tranquilo possível.

Daniel Cunha Barbosa e Martina Lopez, especialistas em segurança da informação da empresa Eset, que atua na área de proteção digital, ensinam como compartilhar e armazenar os arquivos de nudes com maior segurança.

1) Troca segura

Hoje, existem muitas formas de enviar arquivos de forma segura, independentemente do conteúdo: a troca de mensagens por aplicativos que criptografam envio e recebimento de arquivos; e o famoso "zip com senha", que é compactar os arquivos em uma pasta que só pode ser aberta após a inserção do código.

"Para o envio através de aplicativo de troca de mensagens, muitos deles já têm disponíveis funções que auxiliam os usuários a enviarem conteúdos sigilosos, como a função de 'bomba relógio', que permite que o conteúdo enviado fique visível apenas por poucos segundos após a leitura", explica Barbosa.

Além disso, existem programas (oferecidos por empresas de segurança) prometem a função de privacidade que impede que print de tela sejam tirados. Algumas redes sociais também deduram se alguém tirar print de arquivos temporários em algumas situações, como Snapchat e Instagram.

No caso dos arquivos zipados (compactados) com senha, alguns exemplos são: WinRAR, WinZip e 7-Zip. Depois de instalar o programa de sua escolha, vá com o botão direito do mouse em cima do arquivo desejado e siga as instruções de comando.

Em geral, uma tela abre com as opções de configuração do zip. Neste momento, procure a opção "Definir senha", cadastre e salve. O especialista ressalta que é fundamental usar combinação de códigos complexa, com caracteres variados e de difícil adivinhação.

2) Salvando os nudes

O cuidado deve ir além do compartilhamento das imagens e vídeos íntimos em si. As pessoas precisam se atentar também no armazenamento desses conteúdos, tanto do ponto de vista de quem envia quanto de quem as recebe.

"É imprescindível tornar os dispositivos tão protegidos quanto possível. É importante ter uma solução de antivírus instalada, atualizada e configurada para barrar ameaças e impedir que algum criminoso tenha o indevido aos arquivos [em caso de invasão do dispositivo, por exemplo]", afirma Barbosa.

Para o especialista, também é interessante configurar um tempo limite para que a tela do celular seja bloqueada automaticamente. Caso o aparelho fique ocioso ou sem supervisão, o aparelho vai solicitar novamente a inserção de senha para desbloquear a tela. Ou seja, somente se o criminoso tiver é que ele conseguirá ar os dados do telefone (e os nudes gravados nele).

Outra dica é contar com uma senha adicional para a abertura da galeria, aplicativos de troca de mensagens e gerenciamento de arquivos do celular. Muitos smartphones hoje já oferecem esse recurso como padrão. Para os que não contam, vale analisar algumas opções de softwares que oferecem esse tipo de solução.

3) Criptografia em tudo

Para uma maior segurança, é recomendado o uso de criptografia em todos aparelhos que as pessoas costumam usar, como smartphones, notebooks e tablets.

Isso porque, mesmo com as proteções dos arquivos, se uma pessoa tentar indevidamente conectar o celular em um computador, ela pode ter o aos conteúdos e fazer o . "Tenha a criptografia habilitada. Isso ajudará a evitar que pessoas com o físico aos dispositivos consigam fazer transferências de arquivos sem autorização", afirma Barbosa.

Existem várias ferramentas que ajudam nesse processo, explica Martina Lopez. O iPhone vem com camadas de criptografia instalada de fábrica, utilizando uma tecnologia particular da Apple. Nos smartphones Android, ela pode ser configurada nas configurações (item 'Segurança e criptografia').

"Outro exemplo é o próprio Windows, que possui uma ferramenta de criptografia para certos documentos, arquivos e pastas que pode ser utilizada caso o computador possua uma chave de desbloqueio [uma senha]. Para conferir se um arquivo ou pasta está criptografado, basta conferir as suas propriedades [ir com o mouse e clicar com o botão direito em cima do arquivo desejado]", destaca Lopez.

"Os documentos também podem ser criptografados com o usuário do Windows. Se uma pessoa extrai os arquivos e tenta visualizá-los em outro dispositivo, sem a senha e o usuário criado, a informação aparecerá como ilegível", acrescenta a especialista.

Segundo a profissional, existem também outros apps para criptografar discos rígidos inteiros, o que é um técnica muito comum no ambiente corporativo para a preservação de informações importantes do ambiente de trabalho. Dê uma pesquisada na internet e encontre a solução que mais se encaixa no seu perfil.