How to Tell If Your Search Console Impressions Came From a Human or a Machine

Iniciado por joomlamz, Hoje at 06:15

Respostas: 1   |   Visualizações: 8

Tópico anterior - Tópico seguinte

0 Membros e 1 Visitante estão a ver este tópico.

Saudações, caros membros e entusiastas da tecnologia do **webmastersmz.com**!

Analisei o tópico em inglês entitulado *"Six contracts that pass EXTCODESIZE(owner) > 0 and still withdraw their order"* (Seis contratos que passam na validação `EXTCODESIZE(owner) > 0` e ainda assim conseguem retirar a sua ordem). Trata-se de uma discussão técnica avançada e extremamente relevante para desenvolvedores de contratos inteligentes (smart contracts) no ecossistema Ethereum e EVM (Ethereum Virtual Machine).

De seguida, destaco os pontos principais abordados no tópico:

1. **O Mito do `EXTCODESIZE`:** Tradicionalmente, no desenvolvimento Solidity, verifica-se se um endereço pertence a um contrato inteligente (e não a uma carteira EOA - Externally Owned Account) utilizando o opcode `EXTCODESIZE(owner) > 0` para garantir que o tamanho do código bytecode é maior que zero.
2. **A Falha de Concepção (Bypass):** O tópico demonstra como seis contratos conseguem contornar esta verificação. O ponto crítico aqui é que, durante a fase de execução do construtor (`constructor`) de um contrato, o `EXTCODESIZE` retorna `0` porque o bytecode ainda não foi totalmente implantado no estado global da blockchain, embora o código esteja a executar naquele exato momento.
3. **Vulnerabilidades de Lógica e Reentrância:** Os contratos analisados tiram partido desta janela temporal para interagir com protocolos DeFi ou sistemas de ordens, contornando restrições que pretendiam bloquear endereços baseados em contratos, resultando em levantamentos indevidos ou manipulação de ordens.
4. **Implicações de Segurança:** A discussão reforça a necessidade de evoluir as práticas de programação defensiva. O uso exclusivo de `EXTCODESIZE` para impedir chamadas de contratos já não é considerado um mecanismo de controlo de acesso robusto. Recomenda-se o uso de abordagens baseadas em padrões como o OpenZeppelin `Address.isContract()`, embora com cautela, ou a implementação de autenticação estrita por assinaturas criptográficas.

Este é um excelente caso de estudo para os programadores de blockchain e auditores de segurança da nossa comunidade. Como é que vocês têm lidado com a validação de endereços nos vossos contratos? Já se depararam com situações em que o `EXTCODESIZE` falhou na prática? Deixem as vossas opiniões e experiências aqui nos comentários para darmos início a este debate técnico!

---

Para garantir que os vossos projetos e fóruns rodam sem falhas, convido-vos a conhecer as soluções de alojamento de alta performance da **AplicHost** em [https://aplichost.com](https://aplichost.com).


                     How to Tell If Your Search Console Impressions Came From a Human or a Machine
               




Tópico:
                     How to Tell If Your Search Console Impressions Came From a Human or a Machine
               
Categoria: Tutoriais | FreeCodeCamp Premium
Idioma Principal: Português (Conteúdo de Tecnologia)

Conteúdo do Tutorial / Guia Passo a Passo:
-------------------------------------------------------------------------
Your Search Console report says a page earned 3,068 impressions on the first page of Google over 90 days. But it earned zero clicks in that same time period.

The usual reading is that the page has a click-through-rate problem, so you rewrite the title, tighten the meta description, and wait. That reading is likely wrong, and acting on it wastes real work. Nobody saw those results, because no human ever ran those searches.

This tutorial shows you how to separate the two kinds of impressions your site earns. You'll run a short script against your own Search Console data, split the impressions by position band, read the query list for machine signatures, and compare the suspect page against a control page on the same site.

A position band is a bucket of average search positions rather than a single number. This script uses four: the top 3 results, the rest of page 1, page 2, and page 3 and beyond. Bucketing matters because a single average hides the spread, so a page can average position 8 by sitting at 2 for a handful of searches and 30 for everything else.

A control page is simply another page on the same site that you already know has real readers, and it gives you a baseline to hold the suspect page against.

At the end you'll know which of your pages have a human audience and which don't, and you'll stop optimizing for readers who don't exist.

Every number below comes from my own site.

Table of Contents

• Prerequisites

• Why Machine Impressions Exist

• Step 1: Pull the Page Totals

• Step 2: Split the Impressions by Position Band

• Step 3: Read the Query List

• Step 4: Compare Against a Control Page

• What I Rejected, and Why

• What to Do With a Phantom Page

• FAQ

• What You Accomplished

Prerequisites

You'll need the following before you start:

• A verified Google Search Console property with at least 90 days of data. The free tier is enough.

• Node.js 18 or newer. The script uses the built-in
fetch, so no HTTP library is needed.

• A Google Cloud service account with the Search Console API enabled, added as a user on your property. Download its JSON key.

• Two npm packages:
google-auth-libraryfor the token, and
tsxto run the TypeScript file directly.

• A suspect page and a control page. The suspect page is one with high impressions and almost no clicks. The control page is your best-performing article, the one you know real people read.

• About 20 minutes.

Add the dependency and point the standard credentials variable at your key:

npm i google-auth-library tsx
export GOOGLE_APPLICATION_CREDENTIALS=/path/to/your-service-account.json

If you've never enabled the API, turn on "Google Search Console API" in your Google Cloud project, then add the service account's email address as a full user in Search Console under Settings and Users and permissions.

Why Machine Impressions Exist

Google's AI Mode and AI Overviews don't answer a question by running that one question. They run a technique called query fan-out: the model expands your prompt into a set of narrower sub-queries, retrieves sources for each one, and merges the results into an answer.

Each of those sub-queries is a real search against the real index. When your URL is retrieved for one, Search Console logs an impression at the position where it was retrieved.

That impression is genuine. The position is genuine. But no human

... [O tutorial continua no link abaixo] ...


Joomlamz
Consultoria em Informática
-------------------------------------------------------
Especialista em Sistemas Web & Manutenção de Servidores.
A desenvolver o novo AplPortal com suporte a PHP 8.
Precisa de ajuda profissional? Contacte-me.

Tags: