Como burlar paywalls e ler jornais de graça
TL;DR: como ler jornais sem assinatura
- Usar o site 12ft.io (ou adicionar “12ft.io/” na frente da URL) deve resolver a grande maioria dos casos. Ex: “12ft.io/https://nomedosite.com/link-da-materia”;
- Adicionar “cache:” na frente da URL deve ajudar em alguns casos (apenas Chrome). Ex: “cache:nomedosite.com/link-da-materia”;
- Ainda no “cache:”, verifique a versão “Apenas texto”. O layout ficará quebrado, mas você acessará o texto;
- Desabilitar o JavaScript da página.
Tabela de conteúdos
- Como funciona um Paywall?
- Como furar/burlar um Paywall?
- Mas funciona pra todo e qualquer Paywall?
- Por que os portais não corrigem isso?
- Dá pra fazer um paywall melhor?
Se você acessa portais de notícia, sejam eles nacionais, internacionais ou até mesmo mais locais, você com certeza já esbarrou em um paywall. Paywalls nada mais são do que aqueles bloqueios que só assinantes do site conseguem ultrapassar para acessar o conteúdo completo. Ou melhor, na teoria só eles deveriam conseguir.
À primeira vista parece seguro, certo? Afinal, você não consegue simplesmente fechar o banner e continuar a navegação. Bom, não é bem assim.
A verdade é que muitos paywalls contém brechas bastante simples, inclusive um dos erros mais simples que qualquer aplicação web pode ter: deixar o controle do lado do usuário. Uma brecha que o Gabriel Pato já explorou em um jogo de quiz musical.
Esse exploit é tão simples que ele pode ser explorada de várias formas. Abaixo, eu expus 4 métodos de se fazer isso, sendo o 4º o que costuma funcionar em mais casos (e por um bom motivo).
Como funciona um Paywall?
A ideia é bastante simples: você acessa o site e ele verifica se você está logado com uma conta de assinante (via cookie de sessão, provavelmente). Se estiver, tranquilo, você pode ver o conteúdo completo. Senão, você não pode ver e aparece um banner gigante (paywall) para te incentivar a virar um assinante.
Até aí, tudo certo. Contudo, repare no GIF abaixo que, na verdade, por alguns segundos, o conteúdo fica disponível mesmo não tendo uma conta de assinante.
Acredite ou não, isso é proposital e o motivo eu explicarei depois. Esse delay até aparecer o banner ocorre pois a verificação não foi feita na primeira requisição ao servidor do portal de notícias.
Traçando um paralelo: quando você acessa o seu Gmail, o Google verifica se você está logado. Se estiver, ele exibe seu e-mail; senão, exibe a tela para você fazer login. Ou seja: na primeira resposta, o servidor já te diz se você precisa fazer login ou não. Nos portais de notícias, essa lógica é diferente.
No caso da Folha, O Globo e Estadão, o servidor não parece verificar logo na requisição isso. Uma prova disso é que, simulando uma internet extremamente lenta, eu consegui ver o conteúdo do site da Folha por cerca de 20 segundos até aparecer o Paywall.
Com isso, pode-se ver que a verificação de permissão de acesso não é feita na primeira resposta do servidor, mas, sim, depois que a página foi carregada, em outra requisição. E isso abre uma brecha gigantesca.
Como furar/burlar um Paywall?
Em programação, dizemos que não dá pra confiar segurança ao usuário. Isso porque o usuário tem total controle sobre o que está do lado dele. É como se entregássemos um pote de biscoitos com cadeado para uma criança e pedíssemos para ela não comer, mas deixássemos a chave do cadeado no quarto. A criança pode até respeitar, mas, se ela não quiser respeitar, vai ser bem fácil para ela burlar.
“Tá, mas como isso?”. Se você for a qualquer site e apertar Ctrl + U (Chrome) ou clicar com o botão direito e ir em “Exibir código-fonte”, você vai ver que seu navegador vai te mostrar o código da página que você está vendo, que é o código que seu navegador usou para renderizar a página na sua tela. Não é todo o código, pois há código que é executado no servidor da empresa, mas isso é outra história.
O ponto aqui é que os portais de notícia costumam verificar se você é assinante ou não no meio desse código… que você tem acesso… e pode mexer como quiser, afinal, é sua máquina.
Ou seja: nós somos a criança com acesso à chave.
Método #1: desabilitando o JavaScript
Se você apertar Ctrl + Shift + I (Chrome) ou clicar com o botão direito e ir em “Inspecionar elemento”, você vai acessar uma ferramenta de desenvolvedor do navegador que nós, programadores, usamos quando desenvolvemos sites.
Mas, se você for na engrenagem e procurar por “Desabilitar JavaScript” e marcar a caixinha… boom! É só atualizar a página e adeus paywall. Simples assim.
O JavaScript é uma linguagem que roda no seu navegador e que permite tornar várias coisas interativas: botões, animações, pop-ups, entre outros. Contudo, esses portais usam dessa linguagem para verificar se você é assinante ou não.
É por meio do JavaScript que eles mandam a requisição (um outro link) para verificar se você está logado ou não e, como você acabou de desativá-lo, essa requisição não tem como ser feita. Prova disso é que, se você olhar a aba network, vai ver que um dos links carregados tem a ver com o paywall e que ele foi executado depois que a página começou a carregar.
Como a linguagem é executada no seu computador e não no servidor, você tem liberdade de não executar essa verificação se não quiser. Aliás, muitos usuários desativam o JavaScript quando navegam na internet (o que eu não recomendo de forma alguma, pois você perde muita coisa).
Ao desativar o JavaScript, estamos interferindo no site antes que ele verifique se somos assinantes ou não. Sem verificação, sem bloqueio.
No caso acima, inclusive, eu interceptei e bloqueei as requisições para qualquer link que contenha “paywall.folha.uol.com.br” e o paywall caiu por completo, mesmo sem desativar o JavaScript.
Método #2: fingindo ser um robô
Um robô spider, especializado em extrair dados de sites (como os robôs indexadores do Google), consegue puxar os dados antes da execução do script que verifica se você é um assinante ou não. Sendo assim, basta criar o seu próprio robô e pronto!
Mas, acho que você não vai querer aprender programação só pra fazer isso, vai? Por isso, ferramentas como Outline.com podem funcionar: mesmo que elas não tenham sido desenhadas para furar um paywall, o bot do Outline, que extrai os dados da página para que você possa fazer anotações em cima, conseguer burlar o paywall.
A ferramenta é tão eficiente que tem até um bot no Twitter o utiliza para permitir que não-assinantes acessem o conteúdo que os jornais divulgam.
Por que isso acontece? Porque os robôs são mais bem tratados do que os usuários, a fim de melhorar o SEO. Eu darei mais detalhes sobre isso a seguir.
Update (16/03/2022): como o Outline.com está fora do ar, é possível ver um mecanismo semelhante utilizando o 12ft.io.
Método #3: parando a execução da página
Se você clicar no “X” e parar o carregamento da página no momento certo, você também consegue evitar que o script de verificação seja executado.
Esse tende a ser menos eficiente, pois exige um bom timming e, por vezes, pode deixar de carregar um conteúdo importante (como imagens).
Não recomendo, mas é interessante saber que existe, pois ele funciona de forma semelhante ao bloqueio de links que mencionei brevemente anteriormente.
Método #4: acessando o cache do Google
O Google costuma fazer uma cópia dos sites que ele indexa para manter seu índice atualizado sem precisar acessar os sites novamente e com frequência. Mas, ao deixar seu cache exposto aos usuários, ele também abre brecha para furar o paywall.
E para acessar o cache do Google, basta copiar o título da matéria que você deseja acessar, jogar no Google, clicar na setinha e ir em “Em cache”.
Um jeito mais fácil ainda é pegar o link da matéria e adicionar cache: na frente, algo que só funciona no Chrome.
Exemplo:
Vira:
cache:https://portal.news
Mas funciona pra todo e qualquer Paywall?
Não. Há sites que tem um excelente paywall. O Valor Econômico, por exemplo, não tem brecha para a maioria dessas técnicas, bem como o Medium é bem resguardado quanto a isso.
Nesses dois casos, talvez o cache do Google consiga te mostrar o conteúdo da página, mas pode ser que você precise usar a versão em texto dele (com uma diagramação horrível) para poder acessar o conteúdo.
Por que os portais não corrigem isso?
Por uma razão bem simples: SEO. Os robôs dos buscadores como o Google usam o conteúdo visível da página para realizar a indexação (note o negrito em “conteúdo visível”).
Os robôs atuais tentam ao máximo realizar a indexação simulando a experiência de um usuário comum. Isso porque, antigamente, muitos sites colocam vários textos escondidos (invisíveis mesmo) com palavras-chave importantes só para melhorarem seus resultados, pois os primeiros algoritmos do Google pegavam o texto a partir do código-fonte, e não somente o que era visível.
Hoje em dia, os algoritmos evoluíram ao ponto de considerar somente o que usuário vê, o que é ótimo. Mas, um paywall bloquearia boa parte do conteúdo e o SEO seria afetado, certo? É por isso que essas brechas são propositais e não obra de incompetência.
A ideia é bloquear para o usuário, mas não para o robô. Assim, o robô indexa a página inteira, mesmo que nós, humanos, não consigamos necessariamente ler ela por inteiro. Bem esperto, porém surge uma dúvida.
Isso é correto?
Na minha opinião, não, pois isso caracteriza uma técnica de Black Hat SEO conhecida como Cloacking.
Os sites são otimizados para apresentarem aos indexadores um conteúdo diferente do que será apresentado ao usuário, ou seja, para os sites de busca é algo belo e para os usuários um transtorno; uma espécie de “bonitinha, mas ordinária”. (trecho retirado deste artigo da Rock Content)
O problema é que um usuário do Google pode encontrar nos resultados de busca um pedaço de texto que, na verdade, ele não conseguirá acessar, o que o frustrará de forma desleal.
É ruim para o usuário, que não verá o conteúdo que queria e é ruim para o Google, que foi enganado e mostrou um resultado que não condizia com o que o usuário queria. Só quem ganha, de forma injusta, é o portal de notícias, pois tem seus números de acessos inflados artificialmente (lembrando que o media kit não costuma mostrar dados como taxa de rejeição, mas isso é outro assunto) e ainda pode ganhar alguns centavos com o anúncio de Ad Sense que foi exibido.
Dá pra fazer um paywall melhor?
Dá, sim. Particularmente, eu acredito que notícias e informações não deveriam ter paywall, ainda mais em tempos de obscurantismo, fake news, pós-verdade e considerando, também, que há formas alternativas de obter ganhos (anúncios de mídia programática, financiamento coletivo, conteúdo extra direcionado, etc). Tem um episódio muito bom do Braincast que discutiu isso muito bem, inclusive.
Mas, opiniões à parte, é compreensível que os jornais precisem cobrar pelos serviços: afinal, não tem como fazer o que eles fazem de graça.
Sendo assim, a solução óbvia é: verificar se o usuário está logado do lado do servidor. Assim que o usuário clica no link da página protegida, você já deve verificar, via cookie de sessão, se ele está logado ou não.
Não há outra opção: caso contrário, você vai estar deixando a chave na mão na criança. E, não é por nada, mas eu não confio muito em crianças.