Come risolvere l'errore NET::ERR_CLEARTEXT_NOT_PERMITTED? (5 metodi)

Pubblicato: 2023-12-15

Stai cercando di correggere l'errore NET::ERR_CLEARTEXT_NOT_PERMITTED? Allora sei atterrato sul post giusto.

Questo errore NET::ERR_CLEARTEXT_NOT_PERMITTED è specifico per gli utenti Android e sappiamo che Android ha un'enorme quota di mercato rispetto ad altri sistemi operativi mobili.

Ciò significa che non sei l'unico a essere vittima di questo particolare errore, ma possono esserci molti utenti come te che a volte hanno riscontrato o sono vulnerabili a questo messaggio di errore.

Ma non devi preoccuparti. In questo post cercheremo di chiarire tutti i tuoi dubbi riguardo questo errore e di aiutarti a capire esattamente cosa è andato storto e cosa devi fare per risolverlo.

Quindi rimanete sintonizzati e continuate a leggere questo post completo fino alla fine.


Sommario
Come risolvere l'errore NET::ERR_CLEARTEXT_NOT_PERMITTED Android?
Cos'è l'errore NET::ERR_CLEARTEXT_NOT_PERMITTED?
Cos'è la visualizzazione Web di Android?
Che cosa causa l'errore NET::ERR_CLEARTEXT_NOT_PERMITTED?
Riepilogo
Domande frequenti

Come risolvere l'errore NET::ERR_CLEARTEXT_NOT_PERMITTED Android?

Ora in questa sezione parleremo della risoluzione dei problemi relativi all'errore NET::ERR_CLEARTEXT_NOT_PERMITTED . Per questo, se sei uno sviluppatore Android ti verrà richiesto di accedere alla tua app Android.

  • Abilita il traffico di testo in chiaro modificando Androidmanifest.xml
  • Whitelist di un particolare sito Web utilizzando "network_security_config.Xml"
  • Reindirizzamento da HTTP a HTTPS per Nginx
  • Forza il tuo sito WordPress a utilizzare HTTPS
  • Carica il sito Web nei browser moderni

1. Abilita il traffico di testo in chiaro modificando Androidmanifest.xml

Il primo metodo di risoluzione dei problemi che puoi seguire è abilitare il traffico di testo in chiaro modificando il file androidmanifest.xml. Ogni app Android ha questo file Androidmanifest.xml che contiene tutte le informazioni relative all'app richieste dal sistema operativo Android e da altre piattaforme Android.

Questo particolare metodo ignora le rigide linee guida HTTPS di Google, quindi può essere una soluzione temporanea a meno che il sito web che stai tentando di caricare non venga spostato su traffico crittografato.

Per abilitare o consentire Clear traffic è sufficiente aggiungere l'attributo “android:usescleartexttraffic” e impostare il suo valore su “true” nel tag “<application>”.

Per navigare e modificare il file Androidmanifest.xml, segui i semplici passaggi indicati di seguito:

Passaggio 1: per prima cosa devi aprire il tuo progetto Android o accedere al file .apk dell'app. Esistono vari modi per aprire e modificare il tuo progetto Android, ma per tua comodità utilizza Android Studio.

Passaggio 2: quando puoi aprire il tuo progetto Android in Android Studio, esplora il file "AndroidManifest.xml" situato nella struttura di directory del tuo progetto.

Passaggio 3: quando trovi il file "AndroidManifest.xml", fai clic per aprirlo in un editor di testo.

Passaggio 4: ora cerca il tag “<application>” e aggiungi questo attributo “android:usescleartexttraffic”

  • Individua il file "AndroidManifest.xml" nella struttura di directory del tuo progetto.
  • Apri il file "AndroidManifest.xml" in un editor di testo o all'interno dell'IDE.
  • Individua e aggiungi la seguente riga di codice " android:usesCleartextTraffic=”true " all'interno dei tag di apertura e chiusura dell'applicazione.

<application
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
android:usesCleartextTraffic=”true”
</application>

Nel caso in cui l'attributo sia già impostato su False, rendilo True.

Passaggio 5: Successivamente salva il file e il gioco è fatto.


Nota: tieni presente che il metodo sopra descritto non è altamente raccomandato, perché stai ignorando la sicurezza e consentendo il traffico non protetto alla visualizzazione web della tua app Android. Ciò può esporre le informazioni sensibili dell'utente a terzi. Pertanto, questo metodo è più adatto a scopi di test o sviluppo.


2. Whitelist di un particolare sito Web utilizzando "network_security_config.Xml"

A parte quello che hai visto nel metodo precedente. Questa soluzione si concentra sul consentire il traffico in chiaro verso domini specifici di cui ti fidi.

Rispetto al precedente, questo metodo è abbastanza sicuro e ti consente solo di collegare pagine web sicure da caricare sulla webview della tua app Android.

Una cosa che dovresti tenere a mente è che puoi provare solo uno di questi due metodi, abilitare il traffico in chiaro per tutti i siti Web o app o consentire solo domini o app specifici.
Se la sicurezza è la tua più grande preoccupazione, sarebbe meglio seguire il metodo menzionato di seguito:

La prima cosa che devi fare è creare un file network_security_config.Xml. Per fare ciò, devi aprire il tuo progetto Android in Android Studio e andare nella directory "res" seguendo questo percorso app/src/main/res/xml/network_security_config.xml.

Ora crea un nuovo file denominato " network_security_config.xml " all'interno della directory res e aggiungi la seguente riga di codici.

<?xml version=”1.0″ encoding=”utf-8″?>
<network-security-config>
<base-config cleartextTrafficPermitted=”true”>
<trust-anchors>
<certificates src=”system” />
</trust-anchors>
</base-config>
<domain-config cleartextTrafficPermitted=”true”>
<domain>insert_name_of_domain</domain>
<domain includeSubdomains=”true”>insert_sub_domain_including_ip_addresses</domain>
</domain-config>
</network-security-config>

Ciò consentirà solo a un dominio specifico di utilizzare testo in chiaro. Tuttavia, puoi aggiungere più domini o URL utilizzando gli elementi "domain include Subdomains". Ma per motivi di sicurezza, sarebbe meglio aggiungere solo i domini o gli URL di cui ti fidi.

Ora salva il file “ network_security_config.xml ” e aggiorna il file “AndroidManifest.xml” per renderlo efficace.

Per fare ciò, apri questo file " AndroidManifest.xml ", cerca i tag dei sottoelementi dell'applicazione e inserisci la seguente riga di codici tra di loro.

<?xml version=”1.0″ encoding=”utf-8″?>
<manifest …>
<uses-permission android:name=”android.permission.INTERNET” />
<application

android:networkSecurityConfig=”@xml/network_security_config” …>

</application>
</manifest>

Salva e chiudi il file “ AndroidManifest.xml ”. Questo è tutto, ora puoi caricare una pagina Web HTTP in Webview.


Leggi: 12 metodi migliori per correggere l'errore NET::ERR_CERT_DATE_INVALID


3. Reindirizzamento da HTTP a HTTPS per Nginx

Se si desidera che i server Web Nginx non visualizzino un messaggio di errore " NET::ERR_CLEARTEXT_NOT_PERMITTED " su WebViw. Puoi imporli di utilizzare HTTPS e stabilire una connessione sicura tra il server e il client.

Per rendere ciò possibile, seguire i passaggi indicati di seguito:

  • Innanzitutto, devi aprire il file di configurazione Nginx per il tuo sito web seguendo uno di questi percorsi, /etc/nginx/conf.d o etc/nginx/nginx.conf.
  • Cerca il blocco del server che mostra il nome del tuo sito web e inserisci la seguente riga di codici.

<VirtualHost *:80>
ServerName your_website.com # Replace with your domain name
# Redirect HTTP to HTTPS
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
</VirtualHost>

Questo codice consentirà il reindirizzamento da HTTP a HTTPS. Salvare il file per rendere effettive le modifiche.

Ora verifica se il file di configurazione funziona o meno seguendo questo comando “apachectl configtest”.

Se tutto funziona, è necessario riavviare il server Apache seguendo il comando seguente.

# Ubuntu, Debian
sudo service apache2 restart
# CentOS, Fedora
sudo systemctl restart httpd

4. Forza il tuo sito WordPress a utilizzare HTTPS

Uno dei metodi più sicuri e altamente consigliati per l'errore NET::ERR_CLEARTEXT_NOT_PERMITTED che puoi seguire è forzare o configurare il sito Web che utilizza HTTP anziché HTTPS. Anche il motore di ricerca Google considera i siti web sicuri come uno dei principali fattori di ranking nelle SERP.

Puoi consultare i nostri blog dedicati su questa tecnica di reindirizzamento, basta seguire uno dei metodi di tua scelta ed eliminare l'errore NET::ERR_CLEARTEXT_NOT_PERMITTED.

  • Come funziona l'URL di reindirizzamento di WordPress? 5 metodi migliori
  • Una guida completa sulla migrazione da HTTP a HTTPS in WordPress

5. Carica il sito Web nei browser moderni

Se nessuno dei metodi sopra indicati funziona per te o ti senti abbastanza pigro da seguire i metodi sopra indicati. Accedi semplicemente al sito web o al dominio con qualsiasi browser moderno di cui disponi, ad esempio Chrome o Firefox.

Tuttavia, al giorno d'oggi, se provi a caricare un sito Web HTTP su questi browser, potresti riscontrare un messaggio di errore "connessione, non privata" o "Segno di connessione non sicura" nella barra degli indirizzi.

Ma ciò non significa che sei esente dall'errore NET::ERR_CLEARTEXT_NOT_PERMITTED Samsung error , ma sei comunque esposto a rischi per la sicurezza e tutti i dati che condividi sul sito web sono ancora in chiaro.

Pertanto dovresti evitare di condividere o fornire informazioni sensibili o dettagli personali ai siti Web che utilizzano HTTP. Questo è il motivo principale per cui Google lo ha disabilitato per impostazione predefinita.


Leggi: Come risolvere l'errore NET::ERR_CERT_AUTHORITY_INVALID? (10 soluzioni)


Cos'è l'errore NET::ERR_CLEARTEXT_NOT_PERMITTED?

NET::ERR_CLEARTEXT_NOT_PERMITTED è un messaggio di errore visualizzato nella Webview del sistema Android quando un'app Android tenta di caricare informazioni non crittografate o HTTP.

Non dovresti fraintendere questo errore con eventuali problemi tecnici o problemi. Sorprendentemente quando provi a caricare lo stesso URL o a caricare le stesse informazioni su qualsiasi browser web. Potresti non riscontrare alcun errore.

Poiché NET::ERR_CLEARTEXT_NOT_PERMITTED viene visualizzato all'interno delle app Android, potresti anche fraintendere che c'è qualcosa di sbagliato nell'app Android stessa. Tuttavia, puoi facilmente aggirare o correggere questo errore.

La maggior parte delle soluzioni disponibili sono destinate agli sviluppatori Android e agli amministratori web. Ma se sei un utente finale, puoi seguire solo una manciata di metodi per la risoluzione dei problemi oltre a caricare l'URL sui browser Web.


Cos'è la visualizzazione Web di Android?

Se sei un utente finale, potresti non avere idea della visualizzazione Web Android. Lascia che ti aiutiamo a renderlo facile da capire.

È una funzionalità speciale del sistema operativo Android che ti aiuta a caricare pagine Web all'interno delle app Android senza utilizzare browser esterni. Consente inoltre agli sviluppatori di creare applicazioni ibride che sono una combinazione di funzionalità native e basate sul Web.

Oltre a tutte queste funzionalità, l'unico demerito che troverai di Web View è che non otterrai la quantità di funzionalità che ottieni nel browser.

L'errore NET::ERR_CLEARTEXT_NOT_PERMITTED è specifico delle app Android che utilizzano Web View. Non riceverai questo errore durante la navigazione nel sito Web tramite browser, ad esempio Chrome o Firefox.

Tuttavia, se visiti un sito Web non protetto o un sito Web creato con PHP, potresti riscontrare un diverso tipo di errore "La tua connessione non è un errore privato".


Che cosa causa l'errore NET::ERR_CLEARTEXT_NOT_PERMITTED?

L'errore NET::ERR_CLEARTEXT_NOT_PERMITTED si è verificato perché la tua app Android stava tentando di caricare contenuto Web non crittografato tramite testo in chiaro. Ma a partire dalla versione 9 di Android (Pie), Google ha disabilitato questa trasmissione di dati non crittografati o il caricamento di pagine web HTTP nella loro configurazione predefinita.

Ora, questa configurazione è applicabile solo alle applicazioni che utilizzano Android View. Questo è il motivo principale per cui non riscontrerai questo errore sui browser nemmeno nel sistema operativo Android ma nelle app Android.

Lo scopo di Google di applicare ciò è creare un ambiente sicuro in cui gli utenti possano proteggere le proprie informazioni sensibili da terze parti. Google incoraggia gli sviluppatori Android a fornire solo siti Web compatibili con HTTPS nella loro Visualizzazione Web anziché connessioni HTTP non sicure. Poiché HTTPS presenta diversi vantaggi, ad esempio:

  • Sicurezza avanzata per le app Android
  • Fiducia e fiducia dell'utente
  • Integrità dei dati
  • Autenticazione
  • Vantaggi SEO
  • Riservatezza per gli Utenti e molti altri.

Riepilogo

Se riscontri un errore NET::ERR_CLEARTEXT_NOT_PERMITTED nella visualizzazione Web dell'app di Android, significa semplicemente che l'app sta tentando di caricare un sito Web HTTP non protetto. Per motivi di sicurezza, Google ha abilitato il blocco di tali siti Web non protetti che potenzialmente compromettono le informazioni sensibili dell'utente.

Se sei uno sviluppatore Android o un amministratore del sito web, segui i metodi indicati di seguito:

  • Abilita il traffico di testo in chiaro modificando Androidmanifest.xml
  • Whitelist di un particolare sito Web utilizzando "network_security_config.Xml"
  • Reindirizzamento da HTTP a HTTPS per Nginx
  • Forza il tuo sito WordPress a utilizzare HTTPS
  • Carica il sito Web nei browser moderni

Se avete domande o suggerimenti riguardo a questo post, fatecelo sapere nella sezione commenti qui sotto.


Domande frequenti

Cosa significa Err_cleartext_not_perised?

NET::ERR_CLEARTEXT_NOT_PERMITTED è un messaggio di errore visualizzato nella Webview del sistema Android quando un'app Android tenta di caricare informazioni non crittografate o HTTP.

Cos'è l'errore Cleartext non consentito su Android?

L'errore "Testo in chiaro non consentito" su Android si verifica in genere quando la tua app tenta di effettuare una richiesta di rete tramite una connessione HTTP non sicura (testo in chiaro) anziché una connessione HTTPS sicura. Questo errore è una funzionalità di sicurezza introdotta in Android per incoraggiare gli sviluppatori a utilizzare connessioni sicure per la trasmissione di dati sulla rete.

Come risolvere il problema err_cleartext_not_permit su Android

Se sei uno sviluppatore Android o un amministratore del sito web, segui i metodi indicati di seguito:
1. Abilita il traffico di testo in chiaro modificando Androidmanifest.xml
2. Whitelist di un particolare sito Web utilizzando "network_security_config.Xml"
3. Reindirizzamento da HTTP a HTTPS per Nginx
4. Forza il tuo sito WordPress a utilizzare HTTPS
5. Carica il sito Web nei browser moderni