Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Contrôle ActiveX marqué comme sûr !!!

13 réponses
Avatar
David BERCOT
Bonjour,
J'ai un petit problème avec un contrôle ActiveX (développé sous VB 6).
En effet, je souhaite l'utiliser dans une page HTML avec des paramètres (via
le tag <PARAM>) mais, lorsque je fais cela, il me dit qu'il n'est pas content
[en Anglais : Internet Explorer has blocked this site from using an ActiveX
control in an unsafe manner] (alors que, sans ces <PARAM>, tout marche bien).
Par ailleurs, mon contrôle est signé (avec un certificat privé) et, lors de
l'empaquetage (pour faire le .CAB), j'ai bien spécifié que ce contrôle était
sûr à la fois pour l'initialisation et pour le script !!!
Mais apparemment, il me manque quelque chose...
Merci d'avance.

10 réponses

1 2
Avatar
Patrick Philippot
David BERCOT wrote:
En effet, je souhaite l'utiliser dans une page HTML avec des
paramètres (via le tag <PARAM>) mais, lorsque je fais cela, il me dit
qu'il n'est pas content [en Anglais : Internet Explorer has blocked
this site from using an ActiveX control in an unsafe manner] (alors
que, sans ces <PARAM>, tout marche bien). Par ailleurs, mon contrôle
est signé (avec un certificat privé) et, lors de l'empaquetage (pour
faire le .CAB), j'ai bien spécifié que ce contrôle était sûr à la
fois pour l'initialisation et pour le script !!!



Bonjour,

Pourrait-on voir le tag OBJECT en question (celui qui contient vos
balises <PARAM>)?

--
Patrick Philippot - Microsoft MVP
MainSoft Consulting Services
www.mainsoft.fr
Avatar
David BERCOT
> > En effet, je souhaite l'utiliser dans une page HTML avec des
> paramètres (via le tag <PARAM>) mais, lorsque je fais cela, il me dit
> qu'il n'est pas content [en Anglais : Internet Explorer has blocked
> this site from using an ActiveX control in an unsafe manner] (alors
> que, sans ces <PARAM>, tout marche bien). Par ailleurs, mon contrôle
> est signé (avec un certificat privé) et, lors de l'empaquetage (pour
> faire le .CAB), j'ai bien spécifié que ce contrôle était sûr à la
> fois pour l'initialisation et pour le script !!!

Bonjour,
Pourrait-on voir le tag OBJECT en question (celui qui contient vos
balises <PARAM>)?



Peu importe en fait...
Par exemple :
<OBJECT ...>
<PARAM NAME="aliasOracle" VALUE="DEV">
</OBJECT>
Avatar
Patrick Philippot
David BERCOT wrote:
Bonjour,
Pourrait-on voir le tag OBJECT en question (celui qui contient vos
balises <PARAM>)?



Peu importe en fait...
Par exemple :
<OBJECT ...>
<PARAM NAME="aliasOracle" VALUE="DEV">
</OBJECT>



On ne peut pas dire que ce soit une info complémentaire significative
:-)) . Bon, eh bien, on va faire sans.

Le fait d'ajouter une balise PARAM entraîne que le contrôle est scripté:
on exécute du code en donnant la valeur DEV à la propriété aliasOracle.
S'il y a une erreur, c'est que les réglages IE n'autorisent pas cette
opération (dixit le message). Vous avez vérifié les réglages IE pour les
ActiveX Controls pour la zone concernée? Le scripting est-il vraiment
autorisé? Le fichier est chargé directement ou par l'intermédiaire d'un
répertoire virtuel IIS? Avez vous le même problème dans les 2 cas?

--
Patrick Philippot - Microsoft MVP
MainSoft Consulting Services
www.mainsoft.fr
Avatar
David BERCOT
> >> Bonjour,
>> Pourrait-on voir le tag OBJECT en question (celui qui contient vos
>> balises <PARAM>)?
>
> Peu importe en fait...
> Par exemple :
> <OBJECT ...>
> <PARAM NAME="aliasOracle" VALUE="DEV">
> </OBJECT>

On ne peut pas dire que ce soit une info complémentaire significative
:-)) . Bon, eh bien, on va faire sans.



Désolé ;-)))

Le fait d'ajouter une balise PARAM entraîne que le contrôle est scripté:
on exécute du code en donnant la valeur DEV à la propriété aliasOracle.
S'il y a une erreur, c'est que les réglages IE n'autorisent pas cette
opération (dixit le message). Vous avez vérifié les réglages IE pour les
ActiveX Controls pour la zone concernée? Le scripting est-il vraiment
autorisé?



En fait, je ne souhaite pas changer les réglages par défaut car cela va
s'exécuter sur un grand nombre de postes...
Je pensais que si le contrôle était signé, cela suffirait. Apparemment, ce
n'est pas le cas :-(
Cela fonctionne de la même manière pour les contrôles du commerce ?
C'est surtout cela qui me surprend car je n'avais pas eu ce message avant
avec d'autres contrôles...

Le fichier est chargé directement ou par l'intermédiaire d'un
répertoire virtuel IIS? Avez vous le même problème dans les 2 cas?



Il est chargé directement...
Je peux néanmoins faire l'essai en le mettant dans un répertoire virtuel...

Il n'y a pas de possibilité de le marquer comme réellement "sûr" pour le
scripting ?

Merci.

David.
Avatar
Patrick Philippot
David BERCOT wrote:
Il n'y a pas de possibilité de le marquer comme réellement "sûr" pour
le scripting ?



Le contrôle est bien marqué "safe for scripting" *et* "safe for
initialization"? Les 2 catégories à déclarer sont
{7DD95801-9882-11CF-9FA9-00AA006C42C4} et
{7DD95802-9882-11CF-9FA9-00AA006C42C4}.

Je crois qu'il faut lever un malentendu. Un contrôle marqué "safe for
scripting" et "safe for initialization", c'est juste un engagement moral
de la part du développeur qui, en indiquant au moment de
l'enregistrement de ce contrôle dans la registry qu'il appartient aux 2
catégories susdites, déclare qu'il a bien testé le contrôle sous IE et
que ça fonctionne. Cela n'a que très peu de choses à voir avec la
sécurité.

--
Patrick Philippot - Microsoft MVP
MainSoft Consulting Services
www.mainsoft.fr
Avatar
David BERCOT
> > Il n'y a pas de possibilité de le marquer comme réellement "sûr" pour
> le scripting ?

Le contrôle est bien marqué "safe for scripting" *et* "safe for
initialization"?



Oui, dans l'assistant d'empaquetage, c'est ce que j'ai fait !!!

Les 2 catégories à déclarer sont
{7DD95801-9882-11CF-9FA9-00AA006C42C4} et
{7DD95802-9882-11CF-9FA9-00AA006C42C4}.



Oui, j'avais vu mais je n'ai pas vérifié sur le poste en question.
Je vais aller voir.
Mais normalement, ça se fait tout seul, non ???

Je crois qu'il faut lever un malentendu. Un contrôle marqué "safe for
scripting" et "safe for initialization", c'est juste un engagement moral
de la part du développeur qui, en indiquant au moment de
l'enregistrement de ce contrôle dans la registry qu'il appartient aux 2
catégories susdites, déclare qu'il a bien testé le contrôle sous IE et
que ça fonctionne. Cela n'a que très peu de choses à voir avec la
sécurité.



Oui, j'en suis bien conscient mais je pensais que, si on lui disait que
c'était le cas, alors IE considèrerait réellement le contrôle comme sûr...
Apparemment, c'est pas évident, si ?

Merci.

David.
Avatar
David BERCOT
> Le contrôle est bien marqué "safe for scripting" *et* "safe for
initialization"? Les 2 catégories à déclarer sont
{7DD95801-9882-11CF-9FA9-00AA006C42C4} et
{7DD95802-9882-11CF-9FA9-00AA006C42C4}.



Je viens d'aller voir et de faire quelques tests...
Donc, les 2 catégories sont bien présentes ce qui sous-entendrait que le
contrôle est bien marqué comme sûr !!!
Toutefois, IE n'a pas l'air de le voir comme ça...

D'autre part, j'ai même rajouté mon site dans les sites de confiance et ça
ne marche pas mieux !!!
Il a fallu que je dise que j'acceptais les scripts pour les contrôles qui
n'étaient PAS marqués comme sûr pour que je n'ai plus de message !!!
Et là, mon contrôle ne s'affiche pas :-(((
Si je retire <PARAM>, il s'affiche !!!
Honnêtement, je ne comprends plus rien...

Merci.

David.
Avatar
Patrick Philippot
David BERCOT wrote:
Oui, j'avais vu mais je n'ai pas vérifié sur le poste en question.
Je vais aller voir.
Mais normalement, ça se fait tout seul, non ???



Oui, si l'assistant d'empaquetage est réglé pour ça, pas de problème.

Une remarque: charger la page depuis le serveur Web local ou depuis le
disque, ce n'est pas la même chose. Dans le premier cas, ce sont les
réglages Intranet Local qui s'appliquent. Dans le deuxième cas et sauf
erreur de ma part, depuis le SP2 XP, ce sont les réglages Restricted
Zone qui s'appliquent (et ce n'est pas normal). J'ai déjà eu un problème
de ce type avec certaines pages.

Aussi, la comparaison entre chargement direct et chargement depuis un
serveur IIS me paraît importante.

--
Patrick Philippot - Microsoft MVP
MainSoft Consulting Services
www.mainsoft.fr
Avatar
Patrick Philippot
David BERCOT wrote:
Et là, mon contrôle ne s'affiche pas :-(((
Si je retire <PARAM>, il s'affiche !!!
Honnêtement, je ne comprends plus rien...



Ça vous gênerait de m'envoyer le contrôle en question et une page de
test?

--
Patrick Philippot - Microsoft MVP
MainSoft Consulting Services
www.mainsoft.fr
Avatar
Patrick Philippot
Fichier reçu. Merci.

L'ActiveX Control en question a effectivement le même comportement sur
ma machine mais il y a une *très* bonne raison. Il n'expose
rigoureusement aucune méthode ou propriété autre que les méthodes ou
propriétés du UserControl VB. Donc la propriété aliasOracle n'existe pas
et son utilisation indirecte via PARAM se solde par une erreur.

--
Patrick Philippot - Microsoft MVP
MainSoft Consulting Services
www.mainsoft.fr
1 2