Help and Support

ID do artigo: 240797 - Última revisão: sexta-feira, 19 de janeiro de 2007 - Revisão: 9.0

Como impedir que um controle ActiveX seja executado no Internet Explorer

Importante Este artigo contém informações sobre como modificar o Registro. Antes de modificá-lo, faça um backup e certifique-se de que saiba como restaurá-lo caso ocorra algum problema. Para obter mais informações sobre como fazer backup, restaurar e modificar o Registro, clique no número abaixo para ler o artigo na Base de Dados de Conhecimento Microsoft (a página pode estar em inglês):
256986  (http://support.microsoft.com/kb/256986/ ) Descrição do Registro do Microsoft Windows
Expandir tudo | Recolher tudo

Sumário

Este artigo descreve como impedir que um controle ActiveX seja executado no Microsoft Internet Explorer e no Windows Internet Explorer. É possível fazer isto modificando os dados do valor DWORD Compatibility Flags para o Identificador de classe do controle ActiveX.

Observação Para os computadores com base no Microsoft Windows XP e no Windows Server 2003, os administradores podem usar as diretivas de restrição de software para impedir que um controle ActiveX seja executado em qualquer programa nos computadores em um ambiente de domínio do Active Directory. Para obter mais informações sobre as diretivas de restrição de software, visite o seguinte site da Microsoft (em inglês):
http://www.microsoft.com/technet/prodtechnol/winxppro/maintain/rstrplcy.mspx (http://www.microsoft.com/technet/prodtechnol/winxppro/maintain/rstrplcy.mspx)

Mais Informações

Aviso O uso incorreto do Editor do Registro, ou outro método, pode causar sérios problemas, que talvez exijam a reinstalação do sistema operacional. A Microsoft não garante que os problemas resultantes do uso incorreto do Editor do Registro possam ser solucionados. A modificação do Registro é de sua responsabilidade.

Aviso A Microsoft não recomenda unkilling (desfazer a ação de término) em um controle ActiveX. Se você fizer isto, será possível criar vulnerabilidades de segurança. O kill bit é definido normalmente para uma razão que pode ser crítica e, por causa disso, um cuidado extremo deve ser tomado ao desfazer uma ação de término de um controle ActiveX. Além disso, como o seguinte procedimento é altamente técnico, não continue a menos que você esteja familiarizado com ele e seria uma boa idéia a sua leitura completa antes de iniciar.

O CLSID para um controle ActiveX é um GUID para esse controle. É possível impedir que um controle ActiveX seja executado no Internet Explorer, configurando o kill bit de modo que o controle nunca seja chamado pelo Internet Explorer quando as configurações padrão estiverem sendo usadas.

O bit kill é um valor específico para o valor DWORD Compatibility Flags para o controle ActiveX no Registro. Isto é diferente de anular a opção "seguro para scripts" em um controle ActiveX. Quando a opção "seguros para execução de scripts" é revogada, o Internet Explorer ainda chama o controle e solicita uma mensagem de aviso dizendo que o controle ActiveX pode não ser seguro. O controle pode ser executado, dependendo da escolha feita. No entanto, após de o kill bit ser definido para um controle ActiveX, esse controle não é chamado pelo Internet Explorer a menos que a opção Inicializar e executar scripts de controles ActiveX não marcados como seguros seja habilitada no Internet Explorer. Para definir o kill bit, execute as seguintes etapas:
  1. Determine o CLSID para o controle ActiveX que você deseja desabilitar Se você não tiver certeza do CLSID para o controle, contate o fabricante. Se o controle estiver instalado, será possível determinar seu CLSID se souber seu nome amigável. Para fazer isto, examine o valor de seqüência padrão para a chave ProgID para cada uma das chaves CLSID em HKEY_CLASSES_ROOT\CLSID. Pode ser necessário remover o maior número de controles ActiveX possível, com exceção daquele que deseja desabilitar, para facilitar a identificação do CLSID apropriado. Para obter mais informações sobre como remover os controles ActiveX, clique no número abaixo para ler o artigo na Base de Dados de Conhecimento Microsoft (a página pode estar em inglês):
    154850  (http://support.microsoft.com/kb/154850/ ) Como remover um controle ActiveX no Windows
  2. Use o Editor do Registro para exibir os valores dos dados do valor DWORD Compatibility Flags do objeto ActiveX CLSID na seguinte chave do Registro
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\ActiveX Compatibility\CLSID do controle ActiveX
    no qual CLSID do controle ActiveX é o identificador de classe do controle ActiveX apropriado.

    Observações
    • Normalmente, será necessário criar manualmente essa chave do Registro.
    • Para determinar o CLSID que corresponde ao controle ActiveX que deseja desabilitar, remova todos os controles ActiveX instalados no momento, instale o controle que deseja desabilitar e adicione o kill bit ao CLSID.
  3. Altere o valor do valor DWORD Compatibility Flags para 0x00000400.
Se um killbit for definido para um controle ActiveX e uma versão nova de um controle ActiveX for lançada com um CLSID diferente, será possível habilitar sites que usam o CLSID antigo para continuar com o funcionamento desejado. Isso é realizado adicionando o novo valor no mesmo nível do valor do Compatibility Flags no Registro. Este valor deve ser uma cadeia REG_SZ chamada "AlternateCLSID". O valor AlternateCLSID aparecerá entre colchetes. Por exemplo, será semelhante ao seguinte:
{ABCDEF12-ABCD-ABCD-ABCD-ABCDEF123456}
O Internet Explorer interpretará esse valor e criará uma instância do controle ActiveX mencionado no valor AlternateCLSID, em vez daquele que recebeu um killbit.

Observação Para que o valor AlternateCLSID seja efetivo, o killbit deve ser definido no CLSID inicial.

Desenvolvedores de controle ActiveX podem usar os valores do Registro TreatAs ou AlternateCLSID com o ?kill bit? para que o Internet Explorer verifique se um controle ActiveX atualizado foi fornecido para o uso em vez de um controle ActiveX desabilitado. Para obter informações sobre como usar o valor TreatAs, visite o seguinte site da Microsoft (em inglês):
http://msdn2.microsoft.com/en-us/library/ms679737.aspx (http://msdn2.microsoft.com/en-us/library/ms679737.aspx)
Para definir o valor AlternateCLSID, execute as seguintes etapas:
  1. Use o Editor do Registro para localizar a identificação de classe do objeto ActiveX desabilitado na seguinte chave do Registro:
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\ActiveX Compatibility\CLSID do controle ActiveX
    No qual CLSID do controle ActiveX é o identificador de classe do controle ActiveX apropriado.

    É possível ver que o valor de Compatibility Flags está definido para DWORD 00000400.
  2. Adicione um valor de cadeia de caracteres AlternateCLSID para a chave CLSID.
  3. Defina os dados do valor de seqüência AlternateCLSID para {CLSID do controle ActiveX alternativo}, em que {CLSID do controle ActiveX} é o identificador de classe do controle ActiveX atualizado.
O valor AlternateCLSID instrui o Internet Explorer para redirecionar para o CLSID do controle ActiveX atualizado. É possível encadear os redirecionamentos em até dez níveis de profundidade.

O valor AlternateCLSID recebe suporte nas seguintes versões do Internet Explorer.
  • Internet Explorer 5.01 Service Pack 2 (SP2) ou posterior para o Windows 2000 com o MS03-004 ou posterior
  • Internet Explorer 5.5 Service Pack 2 (SP2) com o MS02-068 ou posterior
  • Internet Explorer 6 Service Pack 1 (SP1)
  • Internet Explorer 6 para o Windows XP com o MS02-068 ou posterior
  • Internet Explorer 6 para Windows Server 2003
Observação As versões do Internet Explorer que não estão listadas neste artigo estão na fase estendida do ciclo de vida do produto ou não recebem mais suporte. Apesar de ser possível definir o kill bit nessas versões do Windows e do Internet Explorer, a Microsoft recomenda atualizar para uma versão compatível do Internet Explorer e aplique todas as atualizações apropriadas. Para obter mais informações sobre como determinar a versão do Internet Explorer, clique no número abaixo para ler o artigo na Base de Dados de Conhecimento Microsoft (a página pode estar em inglês):
164539  (http://support.microsoft.com/kb/164539/ ) Como determinar qual a versão do Internet Explorer está instalada

A informação contida neste artigo aplica-se a:
  • Microsoft Internet Explorer 5.01 Service Pack 2
  • Microsoft Internet Explorer 5.01 Service Pack 3
  • Microsoft Internet Explorer 5.01 SP4
  • Microsoft Internet Explorer 5.5
  • Microsoft Internet Explorer 6.0
  • Microsoft Internet Explorer 6.0 Service Pack 1
  • Windows Internet Explorer 7 for Windows Server 2003 IA64
  • Windows Internet Explorer 7 for Windows XP
  • Windows Internet Explorer 7 for Windows Server 2003
Palavras-chave: 
kbhowto kbenv KB240797

Traduções deste artigo

 

Related Support Centers