Executar ficheiros através da hiperligação e a caixa de diálogo Transferência de ficheiros no Internet Explorer

Traduções de Artigos Traduções de Artigos
Artigo: 232077 - Ver produtos para os quais este artigo se aplica.
Expandir tudo | Reduzir tudo

Nesta página

INTRODUÇÃO

Muitos Web sites, especialmente em intranets empresariais, têm hiperligações a ficheiros que o utilizador necessita para executar no sistema local. Por motivos de segurança óbvio, Internet Explorer impede que qualquer acção de hiperligação seja executado automaticamente qualquer ficheiro executável transferido ou outros ficheiros possivelmente perigosos sem apresentar alguma forma de linha da caixa de diálogo ao utilizador.

Nestas situações, a caixa de diálogo Transferência de ficheiros não está preventable de qualquer forma. Isto inclui a utilização de códigos HTML, script da página, que hospedam o controlo WebBrowser e alterar as opções de zona de segurança.

Infelizmente, esta caixa de diálogo pode ser inadequada para uma interface baseada na Web que dependa destes tipos de hiperligações para simplificar a utilização de executáveis ficheiros armazenados no servidor Web. Este artigo descreve dois métodos de seguros alternativos para executar automaticamente ficheiros através da hiperligação.

Mais Informação

Internet Explorer apresenta a caixa de diálogo Transferência de ficheiros por duas razões principais: segurança e escolha. Para estar seguro, o browser nunca tem de executar um ficheiro potencialmente perigoso no sistema do utilizador automaticamente sem intervenção do utilizador potenciais. Além disso, Web sites utilizou normalmente hiperligações para ficheiros executáveis com dois intenções diferentes: o site pretende para o utilizador ou para executar o ficheiro ligado e guardá-lo. Infelizmente, não é nada na especificação HTML para o código de âncora ( <a>) ou qualquer modelo de objecto scripts actual que fornece um meio para o Web site indicar que é a pretendida para uma determinada ligação. Assim, a carga de escolha é o utilizador. O utilizador tem de decidir se pretendem executar ou guardar o ficheiro.

Internet Explorer decide se deve apresentar a caixa de diálogo Transferência de ficheiros principalmente por extensão do ficheiro de verificação e procura no registo para uma aplicação que lê o ficheiro. Para a maior parte dos tipos de ficheiros, o utilizador pode limpar a opção Perguntar sempre antes de abrir este tipo de ficheiro na caixa de diálogo, que concede permissão para o Internet Explorer para não apresentar a caixa de diálogo no futuro para esses tipos de ficheiro específico. Os utilizadores também podem alterar esta definição na caixa de diálogo Editar tipos de ficheiro acessível a partir Opções de pastas da shell de mudando a caixa de verificação Confirmar abertura após transferência .

No entanto, o Internet Explorer contém uma lista predefinida, hard-coded das extensões de ficheiro inerentemente distrusts. Estas extensões correspondem aos genérico executáveis e outros tipos de ficheiros que têm a capacidade de danificar o computador do utilizador sem as salvaguardas de segurança adequadas. Caixa de diálogo Transferência de ficheiros não pode ser impedida para os ficheiros destes tipos. A opção de Perguntar sempre antes de abrir este tipo de ficheiro vai ser a cinzento na caixa de diálogo e não será possível seleccioná-lo. Segue-se a lista das extensões de ficheiro para estes tipos de ficheiros.
Reduzir esta tabelaExpandir esta tabela
.ade.csh.lnk.mda.PIF.VB
.adp.exe*.mad.mdb.prf.VBE
.app.fxp.maf.mde.prg.vbs
ASP.hlp.mag.mdt.pst.vsd
.bas.hta.mam.mdw.reg.vsmacros
.bat.inf.maq.mdz.scf.vss
.cer.ins.Mar.msc.scr.vst
.chm.ISP.mas.msi.sct.vsw
.cmd.ITS*.Mat.msp.shb.ws
.com.js.mau.mst.shs.wsc
.cpl.jse.mav.ops.tmp.wsf
.crt.ksh*.maw.pcd.URL.wsh
Como uma convenção, este artigo referido qualquer um destes tipos de ficheiros como ficheiros "executáveis".

Agora, considere o cenário de um Web site simples da intranet da empresa que inclui uma lista de hiperligações executáveis numa página Web amigável. As hiperligações têm como objectivo ser transferida e executar imediatamente. Vez que os ficheiros executáveis são provavelmente garantida a empresa a ser seguro (bem, tão seguro como qualquer outro programa de computador normal), pode ser muito aborrecida para que o utilizador repetidamente lidar com a caixa de diálogo Transferência de ficheiros , especialmente se esta página é utilizada numa base diária.

Mesmo se os ficheiros executáveis foram assinados e o assinante é fidedigno para o utilizador, o Internet Explorer ainda apresentará a caixa de diálogo Transferência de ficheiros . Pior ainda para autores de Web hapless, hiperligações de UNC Windows--"\\servidor\partilha" hiperligações que ignoram o servidor Web--estão sujeitos a iniquity mesmo.

Para intranets empresariais, existe uma alternativa à puros hiperligações que se refere este artigo como ligação IFRAME . Sites da Internet não é possível utilizar este método mas podem utilizar o método que este artigo refere-se a como ligação de transferência do código de Internet . (O último método está disponível para empresas, demasiado.)

Nota Níveis de segurança predefinido, ambas as técnicas ainda mostram segurança caixas de diálogo. Ao contrário de incómodo caixa de diálogo Transferência de ficheiros, no entanto, todas estas caixas de diálogo segurança são controláveis nas opções de segurança padrão com base em zonas. Para o IFRAME ligar técnica, a caixa de diálogo que poderão aparecer lê "Executar um comando de sistema neste item pode ser insegura..." e é controlado pela opção de segurança personalizado Iniciar programas e ficheiros num IFRAME . Para o código de Internet transferir técnica de ligação, a caixa de diálogo que poderão aparecer leituras "Deseja instalar e executar..." e é controlada pela segurança personalizada opção Transferir controlos ActiveX autenticados .

Se utilizar as técnicas neste artigo num ambiente de intranet, recomendamos vivamente que estas alterações de definições aprovadas e alteradas para todos os utilizadores do Web site por administradores de empresa. O Internet Explorer Administration Kit (IEAK) fornece um mecanismo simples para administradores para controlar e definições de browser difusão como este. Para mais informações, visite o seguinte site da Web da Microsoft TechNet:
http://technet.microsoft.com/en-us/ie/bb219517.aspx
Sites da Internet públicas devem não requerer que os utilizadores alterar as definições de segurança a visitar o Web site. Sites que requerem segurança alterada em vez disso, devem pedir que o utilizador adicioná o site à lista de "Sites fidedignos" na página de propriedades segurança de Opções da Internet . Este site específico, em seguida, funcionará em baixo suficiente segurança ambas as técnicas neste artigo funcionarão sem perguntar.

Ligação de IFRAME

Nesta alternativa, a página Web explora capacidade do Internet Explorer para apresentar vistas de lista de ficheiro do género do Explorador dentro flutuante pacotes (<iframe>). Siga estes passos:
  1. Mova os ficheiros a um servidor especial, a partilha e o directório na intranet da empresa que todo o objectivo de audiência de utilizador tem permissões para aceder através do Windows UNC.
  2. Criar um directório separado para cada ficheiro e copie os ficheiros para os directórios. Os directórios devem ser vazios excepto para o ficheiro executável único.
  3. Sempre que uma hiperligação para o executável seria foram utilizada, incluir HTML o seguinte formato:
    Click on the icon in the following window to run this very special 
    program automatically without annoying dialog boxes:
    
    <IFRAME SRC="\\server\share\directory"></IFRAME>
    						
    Nota: o código HTML aponta para o directório que o ficheiro está localizado, não o próprio ficheiro.
Directório o ficheiro pretendido aparece na vista de ficheiro de uma género do Explorador. Quando o utilizador clica no ícone na vista, o ficheiro é executado como se o utilizador tivesse clicado no ícone do ficheiro numa janela do Explorador do Windows tradicional.

Transferência do código de Internet ligar

Nesta alternativa complicada, a página Web ignora o processo de transferência de ficheiros normal utilizando a transferência do código de Internet. Transferência do código de Internet é a funcionalidade do Internet Explorer que permite a páginas Web para transferir automaticamente controlos ActiveX e outros objectos de código nativo. Ficheiros obtidos através de transferência do código de Internet passam o suporte de segurança ActiveX, que é controlável pelas opções de segurança.
  1. Se o "ficheiro executável" não é uma PE para assinar (.exe) como um ficheiro .bat, o ficheiro tem de ser compactado num ficheiro .cab com um ficheiro INF no seguinte formato.
    [version]
       signature="$CHICAGO$"
       AdvancedINF=2.0
    [Add.Code]
       file.zzz=file.zzz
    [file.zzz]
       clsid={15589FA1-C456-11CE-BF01-00AA0055595A}
       FileVersion=1,0,0,0
       hook=zzzinstaller
    [zzzinstaller]
       run=%EXTRACT_DIR%\file.zzz
    						
    substituir a ocorrência do File.zzz acima com o ficheiro executável para ser executado.

    Para mais informações sobre como compactar o ficheiro .cab, visite o seguinte Web site da Microsoft Developer Network (MSDN):
    http://msdn.microsoft.com/en-us/library/aa741200(VS.85).aspx
  2. Certifique-se que .exe ou (.cab) está o código assinado. Se o exe não foi assinado, isto pode ser efectuado utilizando as ferramentas CryptoAPI Authenticode assinatura em código. Consulte a documentação do CryptoAPI no Platform SDK da MSDN sob o título "Segurança" para obter mais informações.

    Por motivos de segurança, o processo de assinatura de código para uma organização melhor é tratado por uma autoridade central que seja considerado fidedigno por toda a organização. Assinatura em código requer um a compra de certificados dispendiosas de fornecedores externos tal como a VeriSign ou manutenção do servidor de certificado como o Microsoft Certificate Server na intranet.
  3. Utilize esta página exemplo como referência para a hiperligação e o script necessário para iniciar o código assinado sem perguntar:
    <HTML><HEAD><TITLE>Page of executable links</TITLE></HEAD>
    <BODY>
    <BR/>
    
    <!-- hyperlink uses central script function called linkit() -->
    <A HREF="" onclick="return linkit('signed-testfile.exe');">
    SIGNED-CLOCK.EXE</A>
    
    <SCRIPT>
    // linkit puts filename into HTML content and spews it into iframe
    function linkit(filename)
    {
       strpagestart = "<HTML><HEAD></HEAD><BODY><OBJECT CLASSID=" +
          "'CLSID:15589FA1-C456-11CE-BF01-00AA0055595A' CODEBASE='";
       strpageend = "'></OBJECT></BODY></HTML>";
       runnerwin.document.open();
       runnerwin.document.write(strpagestart + filename + strpageend);
       window.status = "Done.";
       return false;  // stop hyperlink and stay on this page
    }
    </SCRIPT>
    
    <!-- hidden iframe used for inserting html content -->
    <IFRAME ID=runnerwin WIDTH=0 HEIGHT=0 SRC="about:blank"></IFRAME><BR/>
    
    </BODY></HTML>
    					
Os produtos de outros fabricantes explicado neste artigo são fabricados por empresas independentes da Microsoft. A Microsoft não oferece nenhuma garantia, expressa ou implícita, relativamente ao desempenho ou fiabilidade destes produtos.

Propriedades

Artigo: 232077 - Última revisão: 16 de julho de 2007 - Revisão: 3.2
A informação contida neste artigo aplica-se a:
  • Microsoft Internet Explorer 4.0 128-Bit Edition
  • Microsoft Internet Explorer 4.01 Service Pack 2
  • Microsoft Internet Explorer 4.01 Service Pack 1
  • Microsoft Internet Explorer 4.01 Service Pack 2
  • Microsoft Internet Explorer 5.0
  • Microsoft Internet Explorer 5.5
  • Microsoft Internet Explorer 6.0
Palavras-chave: 
kbmt kbdhtml kbinfo kbnavigation kbsecurity KB232077 KbMtpt
Tradução automática
IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine translation ou MT), não tendo sido portanto revisto ou traduzido por humanos. A Microsoft tem artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais. O objectivo é simples: oferecer em Português a totalidade dos artigos existentes na base de dados do suporte. Sabemos no entanto que a tradução automática não é sempre perfeita. Esta pode conter erros de vocabulário, sintaxe ou gramática? erros semelhantes aos que um estrangeiro realiza ao falar em Português. A Microsoft não é responsável por incoerências, erros ou estragos realizados na sequência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza actualizações frequentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 232077

Submeter comentários

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com