2010-11-03 6 views
0

J'utilise TEmbeddedWB (internet explorer activex) dans mes projets.Delphi empêcher l'accès aux fichiers de TwebBrowser

Je veux empêcher les gens de téléchargement de fichiers:

ex: goto gmail.com puis attch un fichier: Internet Explorer ouvre les fenêtres de fichiers de téléchargement qui permet aux gens d'accéder à un disque local.

Y at-il un moyen simple d'empêcher l'affichage de cette fenêtre?

Cordialement

+0

Qu'est-ce qui empêche l'utilisateur d'utiliser n'importe quel navigateur, d'aller à une URL et de télécharger un fichier local? –

Répondre

0

Il semble que vous essayez de « bac à sable » votre application afin que vos utilisateurs ne peuvent pas accéder au système de fichiers local. Vous construisez peut-être une application hébergée sur Citrix avec plusieurs utilisateurs, et si l'une d'entre elles "éclate" de l'application, elle peut sévir dans le système de fichiers du serveur. Je ne sais pas s'il y a une réponse simple à cette question particulière, mais je vous recommande de regarder le problème global avant d'essayer de résoudre les problèmes individuels, car vous pouvez trouver qu'il y en a trop. Par exemple, dans le navigateur ActiveX, vous pouvez également "afficher la source". Cela ouvre probablement le Bloc-notes sur le serveur. De là, vous pouvez courir rampante. Avez-vous l'aide du CHM? À partir de la fenêtre d'aide, vous pouvez également accéder à la boîte de dialogue "Ouvrir un fichier". Autorisez-vous l'utilisateur à ouvrir/enregistrer des fichiers via vos menus habituels? Même problème. Qu'en est-il des hyperliens? Si votre boîte de dialogue À propos de a un lien hypertexte, c'est un moyen facile d'ouvrir un navigateur. L'utilisateur peut-il entrer une adresse pour naviguer dans votre ActiveX intégré? Si oui, peuvent-ils entrer des choses comme: C: \ WINDOWS \ system32 \ cmd.exe

0

Vous pouvez découpler la navigation, faites-le vous-même, désinfectez le code HTML puis affichez la version désinfectée. Malheureusement, vous devrez le faire pour TOUTES les ressources et devrez gérer les nombreuses bibliothèques JavaScript. Pour le HTML de base, recherchez <input type="file". Ce serait au moins attraper l'utilisation de base, mais pas l'utilisation plus avancée.

Une solution plus simple consisterait à limiter les URL que le navigateur peut également parcourir et à n'autoriser que les URL que vous connaissez.

En supposant que vous ne voulez pas qu'ils parcourent la machine locale, si vous résolvez le problème de "fichier ouvert" le même problème existe si vous avez un dialogue "enregistrer le fichier". Vous devrez peut-être fermer ces boucles en remplaçant le menu contextuel du navigateur par un autre qui n'a aucune option "Enregistrer x sous ...".