;(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

Mensagem suspeita? Veja como evitar golpe que chega por SMS no seu celular

Robin Higgins/ Pixabay
Imagem: Robin Higgins/ Pixabay

Nicole D'Almeida

Colaboração para Tilt

27/05/2020 04h00

Você já deve ter recebido SMS pedindo para regularizar situação da conta bancária ou do cartão de crédito e ter percebido que era golpe. Mas não para por aí. Tem tentativa de tudo quanto é tipo de fraude. E a pandemia de coronavírus parece ter estimulado os criminosos a aumentarem o envio de mensagens em busca de vítimas. O fato é que as SMS podem ajudar hackers a invadirem seu aparelho e, assim, roubarem seus dados.

Veja abaixo algumas dicas para não cair nesses golpes.

Não abra os links

Muitas vezes essas mensagens são acompanhadas de links que parecem legítimos, afinal, as mensagens vêm disfarçadas de alguma empresa conhecida. Entretanto, esse link te levará a um site que irá coletar suas informações pessoais para algum fim. Portanto, não abra os links enviados por uma SMS desconhecida. Caso abra, não insira seus dados ou nenhuma conta.

Pesquise antes de responder

Outra coisa muito comum que as mensagens oferecem é responder com "PARAR" ou "STOP" para cancelar sua "inscrição" e não receber mais as SMS. Entretanto, os golpistas utilizam desse recurso para verificar se seu número telefônico é válido e, portanto, poderem encaminhar mais golpes, seja por mensagem ou ligação.

Para evitar responder a um hacker, pesquise o número antes e verifique se é de alguma empresa conhecida e esta o usa para enviar SMS. Caso seja positivo, você pode responder para remover seu número da lista.

Bloqueie o número

Se o mesmo número não para de te enviar mensagens, você pode bloqueá-lo. Veja como.

  • iPhone

  1. Abra a mensagem.
  2. Toque no ícone de perfil.
  3. Toque em "Informações".
  4. Toque no número telefônico.
  5. Toque em "Bloquear este chamador".
  6. Toque em "Bloquear contato".
  • Android
  1. Abra a mensagem.
  2. Toque nos três pontinhos no canto superior direito.
  3. Toque em "Bloquear número"
  4. Toque em "Bloquear".

SIGA TILT NAS REDES SOCIAIS