2009-05-05 6 views
0

J'ai une application XBAP WPF qui affiche différentes pages à l'intérieur d'un cadre. Je pensais à permettre un lien profond dans cette application. Pour que les utilisateurs puissent créer un lien vers quelque chose comme http://myhost/myapp.xbap?page=MyPage et que je charge ensuite l'application, je place automatiquement MyPage.xaml comme source de mon image principale. Je pense que j'ai une compréhension de la façon d'atteindre cet objectif. Qu'est-ce que je ne sais pas si je devrais faire une aseptisation de ce paramètre pour éviter d'éventuelles failles de sécurité? Ou n'est-ce pas une préoccupation dans un tel scénario dans WPF?Liaison profonde XBAP. Menaces de sécurité possibles?

Répondre

0

Je pense que tout dépend de la façon dont vous gérez le chargement dynamique de votre XAML. Si vous construisez simplement le nom de fichier XAML directement à partir du paramètre, vous pouvez potentiellement autoriser l'utilisateur à charger le XAML de votre application (y compris tout ce à quoi vous ne voulez pas que l'utilisateur ait accès, si cela est possible dans votre

Vous pouvez envisager d'avoir un fichier de mappage qui mappe les paramètres sur les fichiers XAML, ce qui vous permet de vérifier que le paramètre est valide et que l'utilisateur peut uniquement accéder aux éléments XAML souhaités. leur donner accès.

Autre que ça ... bonne chance!

+0

Oui, je parlais appending plaine de « XAML » au paramètre. Dans ce scénario particulier, je ne suis pas conc J'ai chargé l'utilisateur de charger un fichier xaml de mon application qu'il ne devrait pas charger. La seule page qui n'est pas supposée y aller est la page principale avec mon formulaire (et je peux vivre avec quelqu'un en passant son nom en paramètre). Ce qui m'intéresse, c'est s'il y a des façons pour les utilisateurs malveillants de spécifier un fichier xaml externe ou de faire quoi que ce soit d'autre qui pourrait compromettre la sécurité ou inciter une personne à faire quelque chose qu'elle ne devrait pas faire. –

+0

Tout dépend de la façon dont vous implémentez le code qui charge dynamiquement le xaml. Si vous ajoutez juste .xaml, ils pourraient inclure un chemin (local ou net) qui leur permettrait de charger xaml externe dans votre environnement d'application. Je resterais fidèle à la méthode de cartographie. –