Résolution du problème « Refus de charger le script » dans Android Lollipop et supérieur
Lors du déploiement d'applications sur des appareils Android avec Lollipop ou version ultérieure, les utilisateurs peuvent rencontrez l'erreur : « Refus de charger le script car il viole la directive de politique de sécurité du contenu suivante. » Ce problème est dû aux politiques de sécurité du contenu plus strictes mises en œuvre dans ces versions.
Comprendre la politique de sécurité du contenu
La politique de sécurité du contenu (CSP) est une mesure de sécurité qui restreint le chargement de ressources externes sur une page web. Cela aide à empêcher l’exécution de contenus malveillants. En spécifiant un ensemble de domaines autorisés, la politique définit quels scripts, styles et images peuvent être chargés.
Politique par défaut pour KitKat et avant
Sur Android KitKat et auparavant, le CSP par défaut est :
<meta http-equiv="Content-Security-Policy" content="default-src 'self' data: gap: https://ssl.gstatic.com 'unsafe-inline' 'unsafe-eval'; style-src 'self' 'unsafe-inline'; media-src *">
Cette politique autorise les scripts depuis l'origine du site ("self") et depuis quelques domaines spécifiques, dont Google Analytics ("https://ssl.gstatic .com').
Politique de restriction dans Lollipop et versions ultérieures
Dans Android Lollipop et versions ultérieures, le CSP par défaut devient plus restrictif :
<meta http-equiv="Content-Security-Policy" content="script-src 'self' 'unsafe-eval' 'unsafe-inline'; object-src 'self'; style-src 'self' 'unsafe-inline'; media-src *">
Cette politique autorise uniquement les scripts provenant de l'origine du site et n'autorise pas le chargement de scripts provenant de sources externes.
Résolution
Pour résoudre le problème, vous devez modifiez le CSP pour autoriser les scripts du domaine souhaité. Dans ce cas, vous souhaitez charger un script depuis "http://Guess.What.com/MyScript.js."
CSP corrigé
<meta http-equiv="Content-Security-Policy" content="default-src 'self' data: gap: https://ssl.gstatic.com 'unsafe-eval'; style-src 'self' 'unsafe-inline'; media-src *; script-src 'self' http://Guess.What.com 'unsafe-inline' 'unsafe-eval'; ">
En ajoutant la ligne "script-src 'self' http://Guess.What.com 'unsafe-inline' 'unsafe-eval';" au CSP, vous autorisez explicitement les scripts de ce domaine.
Après avoir implémenté le CSP corrigé, le script peut être chargé avec succès sans aucune erreur.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!