Performances et sécurité webSlate
Performances
Vue d’ensemble de l’affichage et de l’interaction avec le contenu web
Étant donné qu’un WebSlate est une page web chargée, il est important de prendre en compte les implications en matière de performances :
Les scènes sont généralement performantes à 60fps avec jusqu’à 10 WebSlates actifs. La dégradation de la fréquence d’images et des performances générales peut être observée en proportion du nombre de WebSlates placés dans une scène, quel que soit le contenu.
Le contenu est chargé et exécuté dans le WebSlate sur un thread distinct des threads de mise à jour et de rendu de la scène, et il est donc peu probable d’affecter directement la fréquence d’images. Toutefois, il est toujours important de prendre en compte le coût de l’exécution de JavaScript sur une page Web en termes de complexité du runtime et d’utilisation de la mémoire.
Pour économiser sur les performances, les WebSlates qui sont hors écran pour plus de 30 ans sont automatiquement suspendus. Ils reprendront rapidement à l’écran, mais cela peut avoir un impact sur les services en cours d’exécution sur la page hébergée. S’il s’agit d’un problème, les développeurs peuvent désactiver la suspension avec la case à cocher « Empêcher la suspension » du préfabriqué. Notez que cela peut entraîner l’utilisation de davantage de ressources par la scène, car ces WebSlates restent actifs à tout moment.
Étant donné que les WebSlates n’ont pas d’interface utilisateur de navigation externe par défaut, la meilleure pratique consiste à charger uniquement des URL personnalisées, où la navigation de site est cyclique et peut être effectuée à l’intérieur de la page. Cela peut être effectué avec une barre latérale de navigation ou des liens vers une page hub, par exemple.
L’outil Content Analyseur de performances (CPA) inclut un analyseur WebSlate qui mesure le temps moyen nécessaire au pipeline de rendu d’Unity pour restituer des webSlates dans une trame.
Les mesures sont basées sur l’enregistreur du profileur Unity et nécessitent le mode Lecture. L’analyseur déplace la caméra sur chaque WebSlate pour collecter suffisamment d’échantillons de profileur et calcule le temps de rendu moyen.
Cela fournit une analyse de premier niveau et générale des temps de rendu WebSlate dans le contexte du pipeline de rendu d’Unity. Elle ne fournit pas la fréquence d’images du contenu WebSlate lui-même.
Si le pipeline de rendu d’Unity dépasse le seuil pour afficher les WebSlates (actuellement 10 ms), l’outil CPA fournit un avertissement.
Les mêmes mesures sont également disponibles pour le Profileur de performances. Le groupe sur le Profileur de performances change généralement les couleurs du vert au rouge lorsque l’allocation budgétaire d’une catégorie est dépassée. Pour l’instant, le groupe WebSlate ne s’affiche qu’en vert jusqu’à ce qu’un budget de temps de rendu raisonnable soit rationalisé pour webSlates.
Restrictions de sécurité
Les webSlates sont verrouillés sur les URL vers lesquelles ils accèdent, empêchant les redirections malveillantes. Toutes les navigations de liens hypertexte involontaires vers des domaines extérieurs sont bloquées, sauf si elles sont explicitement répertoriées comme domaine autorisé (voir ci-dessous).
Les webSlates sont limités à la navigation dans le domaine initial ou les redirections de l’URL et du serveur spécifiés.
La navigation au sein d’un WebSlate est exclusivement limitée au protocole HTTPS.
L’accès de l’appareil à la webcam, au microphone et à la géolocalisation est bloqué.
Liste verte du domaine WebSlate
Pour garantir la sécurité contre les vecteurs d’attaque involontaires basés sur l’URL, tels que le hameçonnage, les WebSlates limitent par défaut la navigation vers les URL incluses dans le domaine de la première page chargée dans le WebSlate. Par exemple, un WebSlate lancé sur https://www.microsoft.com/ accède uniquement aux pages dont l’URL commence par « www.microsoft.com ». Bien que cela garantit que les utilisateurs ne diffèrent pas accidentellement du flux de navigation prévu, il peut s’agir d’une valeur par défaut trop restrictive pour certains cas d’usage, tels que l’authentification utilisateur, pendant laquelle il peut y avoir des redirections vers des sous-domaines ou des fournisseurs d’authentification tiers.
La façon de prendre en charge ces cas d’usage consiste à ajouter des domaines à la liste verte de WebSlate.
Ajouter automatiquement des domaines (recommandé)
Lorsque vous utilisez webSlates dans l’éditeur Unity, vous avez la possibilité d’activer « Collecter les domaines autorisés ». Cette opération supprime la restriction de navigation de domaine afin que vous puissiez naviguer librement lors de l’exécution en mode Play pour tester votre scénario. Pendant que vous naviguez en mode Lecture, le WebSlate journalise les domaines que vous visitez en arrière-plan.
Dans ce cas, nous développons la navigation de microsoft.com pour inclure également learn.microsoft.com.
Une fois que vous avez quitté le mode Lecture, vous trouverez une ressource appelée « WebViewAllowedDomains.asset » dans votre dossier Ressources de niveau supérieur.
En cliquant sur cette ressource, vous obtiendrez la liste des domaines supplémentaires que vous avez visités au-delà du domaine de votre URL initiale. Vous pouvez cliquer avec le bouton droit, copier, puis coller les valeurs dans le champ « Domaines autorisés » du composant WebSlate.
Remarque : cette option est impossible à activer dans les scènes chargées. Le fait de laisser « Collecter les domaines autorisés » activé ne supprime pas la restriction dans votre scène finale. Toutefois, votre liste de domaines autorisés persiste et autorise la navigation tant que les domaines sont ajoutés à WebSlate.
Ajouter manuellement des domaines
Si vous connaissez déjà les domaines dont vous aurez besoin, vous pouvez les ajouter manuellement au WebSlate en développant la liste déroulante « Domaines autorisés » et en ajoutant vos domaines supplémentaires à la liste dans l’interface utilisateur graphique Unity.