;(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 habilitar a verificação em duas etapas no WhatsApp e no Facebook

Do UOL, em São Paulo

17/08/2017 04h00

Em tempos em que os crimes digitais estão cada vez mais sofisticados, toda forma de segurança é bem-vinda. Agora, já ouviu falar a "autenticação em duas etapas"? Se nunca ouviu, você precisa começar a usar.

Serviços online como Facebook, Instagram, WhatsApp e diversos outros (como iCloud, da Apple, e Gmail, do Google) têm usado essa camada extra de segurança no processo de verificação dos dados de seus usuários.

Além disso, a autenticação dupla também serve para proteger o seu celular, já que a a exigir mais de uma etapa seu desbloqueio. Habilitar o recurso pode ajudar principalmente em caso de roubo, perda ou furto do aparelho.

Vale deixar claro que não é um método perfeito, mas é um dos mais seguros no momento.

Como funciona?

Como o próprio nome já diz, a verificação funciona em dois momentos: para você se logar em um serviço, é necessária uma senha (isto é uma etapa). A segunda consiste, geralmente, em uma senha gerada automaticamente para seu dispositivo móvel (smartphone ou tablet que possua linha telefônica).

Outra forma é o envio por SMS ou e-mail desse código gerado. Ao recebê-lo, você precisa digitar o número e o serviço online fará a autenticação final.

Na prática, isso previne que alguém que roubou sua senha tenha o à sua conta, pois o criminoso só terá uma das etapas - a outra dependerá de algum outro item que está com você.

Além de não efetuar o o, os serviços geralmente enviarão a segunda etapa (um SMS ou uma notificação) para um celular, informando que alguém está ando. Nesta hora, o usuário já pode efetuar uma troca de senha para ficar mais seguro.

Veja a seguir como habilitar o recurso:

No Facebook

Facebook - autenticação em dois fatores - Reprodução - Reprodução
Imagem: Reprodução

1 - Em sua conta, vá em "Configurações" e selecione a opção "Configurações da conta"

2 - Procure o recurso "Segurança e ", role a tela para baixo até encontrar o "Use autenticação de dois fatores" e habilite a opção

3 - O Facebook oferece diversas opções como a segunda etapa de verificação (como mensagens de texto para o celular; código de segurança gerados pelo sistema e códigos em aplicativos de outras pessoas)

4 - Selecione a que deseja e siga as instruções até o final

No Instagram

Instagram - autenticação em dois fatores - Reprodução - Reprodução
Imagem: Reprodução

1 - Abra o seu perfil e vá nas configurações (ícone no canto superior direito)

2 - Procure a opção "Autenticação de dois fatores" e selecione

3 - Habilite o "Exigir código de segurança"

4 - Em seguida o sistema pedirá para inserir um número de telefone válido para receber o código. Cadastre um número e confirme.

5 - Em alguns segundos você receberá o código. Será preciso digitar o número enviado e confirmar para ele fazer a autenticação.

6 - Sempre que você ar sua conta em um dispositivo novo, ele repetirá a etapa 5.

Dica: Caso não receba o código enviado via SMS, você poderá usar os "códigos de reserva" para concluir a verificação dupla. Para isso, é preciso selecionar o "obter códigos de reserva" que aparece dentro do item "Autenticação de dois fatores".

No WhatsApp

O serviço de mensagens tem a opção para autenticar em duas etapas, mas ele funciona um pouco diferente do descrito acima. No lugar do código automático, você é quem precisa criar uma senha numérica (de seis dígitos). Ela precisará ser digitada toda vez que o sistema exigir.

WhatsApp - autenticação em dois fatores - Reprodução - Reprodução
Imagem: Reprodução

1 - Abra os "Ajustes" e selecione a opção "conta"

2 - Entre em "Verificação em duas etapas" e ative o recurso

3 - Siga os os solicitados e cadastre uma senha numérica com seis dígitos

4 - Ao concluir, o sistema pedirá o cadastro de um e-mail. Ele será usado caso você venha a esquecer o código numérico criado

No iCloud

A verificação de dois os na Apple pode ser feita via SMS ou em outros dispositivos logados com uma identidade da empresa.

Em aparelhos com sistema iOS 10.3 ou posteriores, vá em Ajustes > [seu nome] > Senha e Segurança. Na sequência, escolha a opção Continuar.

Em dispositivos com iOS 10.2 ou anterior, vá em Ajustes > iCloud > toque no seu ID Apple e escolha Senha e segurança. Neste item, ative a autenticação em dois fatores.

Uma dica importante é configurar um número de confiança. Eles são úteis para casos de roubo.

Imagine que seu iPhone foi roubado e você precisa ar o iCloud. Para isso, será necessário a verificação em duas etapas, o que enviará um código de segurança ao número de um contato de confiança para liberar o aceso. Veja aqui o que fazer caso o seu iPhone seja roubado/furtado.

No Google

Para quem tem conta do Google, a plataforma tem um o a o bem detalhado do processo. Depois de ativar, todo feito em um dispositivo próprio precisará de uma outra verificação, além da senha.

Isso pode ser um código enviado via SMS ou uma notificação em um dispositivo logado com a conta. Ele perguntará se você permite ou não o o a este novo dispositivo ou navegador.

Toda a configuração é feita por esta página do Google. Basta clicar no botão "Começar" na parte superior para iniciar o processo.

Basta ar esta página e clicar no botão "Começar" na parte superior.

Fita adesiva na câmera do notebook? Sim, isso pode funcionar

UOL Notícias