Se aprendo un’immagine in una nuova scheda ottieni l’URL about:blank#blocked, il browser ha impedito il caricamento per motivi di sicurezza o di rete. In questa guida trovi cause tipiche, diagnosi con DevTools e una procedura completa (client e server) per riportare le immagini a caricarsi correttamente.
Che cos’è davvero about:blank#blocked
about:blank
è una pagina interna del browser. Il suffisso #blocked
indica che la navigazione verso la risorsa richiesta (in questo caso un’immagine) è stata bloccata. Non è un indirizzo del tuo sito né un virus: è il segnaposto che il browser mostra quando decide di non aprire l’URL per policy di sicurezza, per estensioni che filtrano contenuti, per errori di protocollo o per configurazioni del server considerate rischiose.
Sintomi più comuni
- Le miniature si caricano a volte, ma l’azione “Apri immagine in nuova scheda” porta a
about:blank#blocked
. - Nella Console DevTools compaiono messaggi come Mixed content, Refused to load the image (CSP), net::ERRBLOCKEDBY_CLIENT (tipico dei blocker) o errori TLS/certificato.
- Il problema riguarda uno o pochi domini (ad esempio il CDN delle immagini), non tutto il sito.
- In un altro browser o profilo pulito l’immagine si apre regolarmente, suggerendo un’origine locale (estensioni/impostazioni).
Cause probabili riassunte
Ambito | Motivo plausibile | Indicazione pratica |
---|---|---|
Browser | Impostazioni o estensioni che bloccano contenuti (ad‑blocker, policy di sicurezza, profili corrotti). Tracking Prevention alta in Edge. | Provare altri browser o profili puliti; disattivare momentaneamente le estensioni; in Edge usare Reimposta impostazioni → Ripristina le impostazioni predefinite. |
Rete | Cache DNS o configurazioni IP errate; proxy/VPN non voluti o aziendali che filtrano domini di immagini/CDN. | Eseguire ipconfig /flushdns , netsh winsock reset , ecc.; verificare e disabilitare proxy indesiderati in Opzioni Internet → Connessioni → Impostazioni LAN. |
Protocollo di trasporto | Negoziazione SSL/TLS fallita (versioni/protocolli, ciphers) o certificato errato sul dominio immagini/CDN. | Abilitare temporaneamente SSL 3.0 / TLS 1.0 / 1.1 / 1.2 in Opzioni Internet → Avanzate solo per test; poi tornare alla configurazione minima sicura. |
Software di terze parti | Conflitto con antivirus, firewall o “optimizer” che ispezionano HTTPS o bloccano pattern di URL. | Avviare Windows in avvio pulito caricando solo servizi Microsoft e un singolo browser. |
Server o codice del sito | Percorso errato dell’immagine, restrizioni CORS/CORP, Content‑Security‑Policy troppo restrittiva, “mixed content” HTTP/HTTPS, MIME‑type errato, hotlink protection aggressiva. | Verificare che src punti a una risorsa esistente, servita via HTTPS e con Content‑Type corretto; rivedere CSP (img-src ), header Cross-Origin-Resource-Policy , e impostazioni del server/CDN. |
Nota: X‑Frame‑Options
controlla l’embedding in <iframe>
. Non blocca direttamente le immagini, ma se la tua galleria le veicola in un iframe o un widget incapsulato, può incidere.
Procedura rapida di troubleshooting
- Verifiche immediate
- Apri la stessa pagina in più browser (Edge Stable, Edge Beta, Chrome, Firefox). Se in uno funziona, il guasto è probabilmente locale al profilo.
- Disabilita temporaneamente tutte le estensioni. In Edge: … → Estensioni → Gestisci estensioni.
- Se il problema è di un solo sito, apri DevTools (F12) e controlla Network e Console per errori di rete o sicurezza.
- Ripristino rete locale Apri Prompt dei comandi come amministratore ed esegui in sequenza:
ipconfig /release ipconfig /renew ipconfig /flushdns ipconfig /registerdns netsh int ip reset netsh winsock reset netsh winhttp reset proxy
Riavvia il PC al termine. - Reset impostazioni di sicurezza Internet (solo test)
- Win + R →
inetcpl.cpl
→ Avanzate → abilita temporaneamente i protocolli SSL/TLS elencati. - In Connessioni → Impostazioni LAN verifica l’assenza di proxy non voluti.
- Win + R →
- Ripristino del browser (Edge)
- … → Impostazioni → Reimposta impostazioni → Ripristina le impostazioni predefinite.
- Facoltativo: Privacy, ricerca e servizi → Cancella dati di navigazione (cache e cookie), poi hard‑reload con Ctrl + F5.
- Avvio pulito di Windows
msconfig
→ Avvio selettivo, disabilita elementi non Microsoft.- Task Manager → Avvio → disabilita elementi non essenziali; riavvia e testa con un solo browser.
Analisi approfondita con DevTools
Per distinguere se il blocco nasce lato client o server, usa gli strumenti di sviluppo del browser.
Cosa guardare nella scheda Network
- Filtro per immagini: applica Type: Img. Clicca sulla riga relativa all’immagine problematica.
- Status/HTTP: 200, 301/302, 403, 404, 500 forniscono indizi immediati.
- Initiator: indica quale script/HTML ha richiesto l’immagine (utile per plugin o temi).
- Headers → Response: controlla
Content-Type
,Content-Length
, CSP (Content-Security-Policy
), CORS (Access-Control-Allow-Origin
), CORP (Cross-Origin-Resource-Policy
), cache (Cache-Control
). - Blocked Reason (Chrome/Edge): se appare “mixed-content”, “CSP”, “blocked by client”, hai già la direzione del fix.
Segnale in DevTools | Interpretazione | Azione consigliata |
---|---|---|
net::ERRBLOCKEDBY_CLIENT | Un’estensione (ad‑blocker, privacy, antivirus) ha bloccato l’URL. | Disattiva estensioni, aggiungi allowlist al dominio immagini/CDN, prova profilo pulito. |
Mixed Content | Pagina HTTPS che richiede immagini HTTP. | Converti src a HTTPS; abilita upgrade-insecure-requests in CSP come mitigazione. |
Refused to load the image … due to Content Security Policy | CSP troppo restrittiva: la direttiva img-src non include il dominio dell’immagine. | Aggiungi i domini/cdn a img-src o usa https: /data: /blob: secondo necessità. |
Cross-Origin-Resource-Policy | L’header CORP impone same-origin /same-site e blocca il consumo cross‑site. | Per asset pubblici (immagini), imposta Cross-Origin-Resource-Policy: cross-origin sul CDN. |
Content-Type: text/html su file .jpg/.png | MIME errato; alcuni browser rifiutano per X-Content-Type-Options: nosniff . | Correggi il mapping MIME del server/CDN (es. image/jpeg , image/png ). |
Errori TLS/certificato | Handshake fallito, certificato scaduto o CN/SAN non corrispondente. | Rigenera/installa certificato valido sul dominio delle immagini; verifica catena intermedia. |
Console: messaggi che dicono molto
- “The page was loaded over HTTPS but requested an insecure image” → correggi gli URL a HTTPS o abilita
upgrade-insecure-requests
. - “Refused to load the image … because it violates the following Content Security Policy directive: img-src …” → aggiorna CSP.
- “Cross-Origin Read Blocking (CORB) blocked cross-origin response” → spesso correlato a MIME errato o endpoint che restituisce HTML.
Verifiche e correzioni lato server/codice
Percorsi relativi, assoluti e protocolli
- Evita riferimenti a
file://
o percorsi locali: i browser li bloccano su siti pubblici. - Preferisci URL protocol‑relative
//cdn.example.com/img.jpg
solo se il CDN supporta pienamente HTTPS. Meglio ancora: usahttps://
esplicito.
Eliminare il mixed content
Content-Security-Policy: upgrade-insecure-requests
Questa direttiva chiede al browser di riscrivere automaticamente gli URL http://
in https://
. È una toppa utile durante una migrazione, ma la soluzione definitiva è aggiornare i src
nel codice (tema, plugin, builder).
CSP di base sicura per immagini
Una policy tipica che non blocchi immagini legittime è:
Content-Security-Policy: default-src 'self';
img-src 'self' https: data: blob:;
object-src 'none';
base-uri 'self';
frame-ancestors 'self';
Aggiungi i tuoi domini/CDN in img-src
(es. img.example.com
, cdn.example.net
). Evita *
se non strettamente necessario.
CORS e soprattutto CORP
Il caricamento di immagini via <img>
non richiede CORS, ma può essere impedito da Cross‑Origin‑Resource‑Policy (CORP). Se pubblichi asset statici su un CDN usati cross‑site, imposta:
Cross-Origin-Resource-Policy: cross-origin
Se usi un bucket (S3/analoghi), imposta il bucket come pubblico per gli oggetti necessari e configura i metadati Content‑Type corretti.
MIME‑Type coerenti
Assicurati che il server risponda con il tipo corretto:
.jpg
/.jpeg
→image/jpeg
.png
→image/png
.webp
→image/webp
.svg
→image/svg+xml
Con X-Content-Type-Options: nosniff
attivo, un MIME sbagliato porta a blocco.
Esempi di configurazione
Nginx
server {
# … server_name, ssl, ecc.
add_header Content-Security-Policy "default-src 'self'; img-src 'self' https: data: blob:; object-src 'none'; base-uri 'self'; frame-ancestors 'self'" always;
add_header Cross-Origin-Resource-Policy "cross-origin" always;
location ~* .(?:jpg|jpeg|png|gif|webp|avif|svg)$ {
add_header Cache-Control "public, max-age=31536000, immutable";
types { image/avif avif; image/webp webp; }
try_files $uri =404;
}
}
Apache
<IfModule mod_headers.c>
Header always set Content-Security-Policy "default-src 'self'; img-src 'self' https: data: blob:; object-src 'none'; base-uri 'self'; frame-ancestors 'self'"
Header always set Cross-Origin-Resource-Policy "cross-origin"
Header always set X-Content-Type-Options "nosniff"
</IfModule>
Mapping MIME per nuovi formati
AddType image/avif .avif
AddType image/webp .webp
Hotlink protection e referer
Protezioni anti‑hotlink troppo aggressive (basate su Referer) possono bloccare anche richieste legittime (es. Apri immagine in nuova scheda che talvolta non invia Referer). Se usi regole di blocco, consenti richieste senza Referer o indica un fallback.
CDN e firma URL
Se servi immagini con URL firmati/temporizzati, verifica scadenze e skew orario del server. Una scadenza già passata genera redirect opzionali o risposte HTML d’errore che il browser può rifiutare, mostrando about:blank#blocked
quando apri in nuova scheda.
Ripristini e verifiche di rete su Windows
Comandi e cosa fanno
ipconfig /flushdns
: svuota la cache DNS locale.netsh winsock reset
: ricrea il catalogo Winsock (utile dopo software che intercetta la rete).netsh int ip reset
: ripristina parametri IP/TCP.netsh winhttp reset proxy
: rimuove configurazioni proxy di sistema.
Dopo questi comandi, riavvia sempre.
Proxy, VPN, filtri aziendali
Proxy di sicurezza e VPN possono bloccare CDN di immagini. Disabilita la VPN, verifica Impostazioni LAN, prova su rete diversa (hotspot) per isolare la causa.
Ripristino di Edge in modo sicuro
- … → Impostazioni → Reimposta impostazioni → Ripristina le impostazioni predefinite.
- In Privacy, ricerca e servizi imposta temporaneamente Prevenzione tracciamenti su Bilanciata per test.
- Cookie e dati del sito: cancella cache e cookie del dominio interessato.
Attenzione: non lasciare TLS obsoleti attivi. Se abilitati per test, riportali allo stato sicuro al termine.
Procedura in stile Q&A
Le immagini non si vedono solo in Edge. Prova profilo nuovo e senza estensioni. Se lì funziona, reintroduci estensioni una alla volta finché identifichi il blocco (blocked by client). Le immagini non si vedono in nessun browser sulla stessa macchina. Concentra il debug sulla rete locale: reset DNS/Winsock, verifica proxy, antivirus, VPN. Prova una rete diversa. Le immagini non si vedono per tutti gli utenti. È molto probabile un problema lato server/CDN: URL, HTTPS, CSP/CORP, MIME, hotlink protection o certificati. Solo alcune immagini non si aprono in nuova scheda. Controlla se quelle specifiche passano per un dominio diverso (es. img-cdn.example.net) non incluso in CSP/CORP o con certificato errato.
Checklist tecnica aggiuntiva
Controllo | Perché è importante | Come verificare |
---|---|---|
Percorsi relativi vs assoluti | URL sbagliati o assoluti verso HTTP generano blocchi. | Cerca src="http:// in tema/plugin; preferisci https:// . |
HTTPS obbligatorio | I browser moderni bloccano il mixed content. | Console DevTools evidenzia Mixed Content. |
CSP e CORP | Direttive img-src e header CORP possono impedire il caricamento. | Controlla header risposta; amplia domini ammessi in img-src ; valuta Cross-Origin-Resource-Policy: cross-origin per asset pubblici. |
Dimensioni e formati | File enormi o corrotti non si caricano; MIME errato viene rifiutato. | Verifica Content-Length, apri direttamente il file dal CDN, conferma il MIME. |
Cache locale | Asset corrotti in cache possono persistere. | Hard‑reload (Ctrl + F5) o svuota cache del sito. |
Script di rilevamento e fallback lato front‑end
Per ridurre l’impatto sull’utente mentre indaghi, puoi intercettare errori di caricamento e mostrare un segnaposto:
<img src="/media/foo.jpg"
alt="Immagine articolo"
onerror="this.onerror=null; this.src='/media/placeholder.svg'; this.alt='Immagine non disponibile';">
Oppure raccogli metriche sugli errori (utile per capire portata e pattern):
<script>
window.addEventListener('load', () => {
document.querySelectorAll('img').forEach(img => {
if (!img.complete || img.naturalWidth === 0) {
console.warn('Immagine non caricata', img.src);
// qui puoi inviare un beacon alla tua endpoint di logging
// navigator.sendBeacon('/log', JSON.stringify({ src: img.src, t: Date.now() }));
}
});
});
</script>
Come stabilire se il problema è locale o del server
- Prova incrociata: altro browser, profilo nuovo, modalità InPrivate/Incognito.
- Cambia rete: hotspot mobile vs rete aziendale/domestica.
- Apri direttamente l’URL dell’immagine: se torna HTML o una pagina di errore dal CDN, è un problema server.
- Controlla i redirect: catene 302 verso pagine HTML o login vengono bloccate quando apri in nuova scheda.
- Verifica i certificati: il dominio delle immagini deve avere certificato valido e catena completa.
Casi reali e come si risolvono
- Galleria che usa CDN separato: CSP aveva
img-src 'self'
soltanto. Aggiuntiimg.example.com cdn.example.net
→ immagini ok. - Template con URL assoluti HTTP: migrazione a HTTPS non completa. Abilitato
upgrade-insecure-requests
e sostituitihttp://
nel tema. - Antivirus con HTTPS inspection: dopo aggiornamento firma, blocco selettivo su alcuni host di immagini. In avvio pulito il problema scompare → esclusione dominio e aggiornamento AV.
- CDN con CORP restrittivo: header
Cross-Origin-Resource-Policy: same-site
su asset pubblici. Portato across-origin
. - MIME errato da storage: immagini servite come
text/html
. Corretto mapping e metadati del bucket.
Best practice per evitare ricadute
- Traccia i domini che servono immagini e tienili allineati in CSP e certificati.
- Evita redirect verso HTML per URL di immagini; le immagini devono restituire
200 image/*
. - Automatizza test di mixed content nei processi CI/CD.
- Versiona gli asset e usa immutable caching dove possibile.
- Documenta e limita le estensioni del team durante il test (profili puliti).
Domande frequenti
“about:blank#blocked” è un virus? No. È una pagina interna del browser mostrata quando il contenuto viene bloccato. Perché succede solo aprendo l’immagine in nuova scheda? Aprendo in nuova scheda il browser effettua una navigazione diretta all’URL dell’immagine. Se l’URL viene reindirizzato verso una pagina HTML, richiede un cookie/Referer, o è filtrato, il browser può bloccare e mostrare about:blank#blocked
. Devo disabilitare permanentemente TLS moderni o la sicurezza del browser? No. Le modifiche ai protocolli SSL/TLS e i reset vanno usati solo per test. Ripristina sempre impostazioni sicure. “CORS” risolve le immagini bloccate? Le immagini in <img>
non richiedono CORS, ma possono essere bloccate da CORP o CSP. Verifica Cross-Origin-Resource-Policy
e img-src
. È un problema di WordPress? Non necessariamente. Tuttavia temi/plugin possono introdurre URL assoluti HTTP, gallerie in iframe, o CSP troppo rigide. Controlla il tema attivo e i plugin di ottimizzazione/ sicurezza.
Riepilogo operativo
- Isola la causa: browser/profilo, rete, o server/CDN.
- Leggi la Console e la scheda Network: messaggi su CSP, mixed content, CORP, MIME, TLS.
- Correggi lato client: estensioni, reset Edge, reset rete, proxy/VPN.
- Correggi lato server: HTTPS ovunque, CSP
img-src
aggiornata,Cross-Origin-Resource-Policy
adeguata, MIME corretti, niente redirect HTML. - Verifica con profilo pulito e su rete alternativa; aggiungi fallback front‑end.
Conclusione
about:blank#blocked è quasi sempre il risultato di un blocco intenzionale per proteggere l’utente: può emergere da estensioni, rete, protocolli o configurazioni server. La sequenza proposta—dai controlli rapidi (browser, estensioni) ai ripristini di rete e alla revisione di CSP/CORP/MIME—consente di arrivare in modo sistematico alla radice. Dopo aver escluso cause locali, concentra l’attenzione sul codice e sul server: servire immagini in HTTPS, con MIME corretti, CSP e CORP ben configurati è la chiave per un caricamento affidabile e sicuro.
Appendice: comandi rapidi (copia/incolla)
ipconfig /release && ipconfig /renew
ipconfig /flushdns && ipconfig /registerdns
netsh int ip reset
netsh winsock reset
netsh winhttp reset proxy
Appendice: policy CSP “starter”
Content-Security-Policy:
default-src 'self';
img-src 'self' https: data: blob:;
object-src 'none';
base-uri 'self';
frame-ancestors 'self';
upgrade-insecure-requests;
Appendice: header per asset pubblici
Cross-Origin-Resource-Policy: cross-origin
X-Content-Type-Options: nosniff
Cache-Control: public, max-age=31536000, immutable