Compartilhar via


Protegendo Componentes Personalizados Criadores de Controle

Muitos controles personalizados de servidor Web do ASP.NET tem componentes designer correspondentes que fornecem processamento em tempo de criação e edição de recursos para o controle.Quando o controle está no modo Design, o componente de designer está processando as alterações de propriedades e processamento HTML para o host de design (por exemplo, Visual Studio 2005).Em tempo de design, o componente de designer de um controle personalizado executa com o mesmo nível de confiança qie host seu design.Componentes de designer podem potencialmente acessar bancos de dados, fazer chamadas para sites da Web em um servidor remoto, criar e gravar arquivos para o desenvolvedor do computador, enviar e-mail e executar código em outros conjuntos.

As informações deste tópico descrevem as práticas recomendadas que ajudarão a melhorar a segurança dos recursos de designer de controle.

Enquanto as seguintes práticas recomendadas de codificação e configuração podem melhorar a segurança do seu aplicativo, também é importante que você continuamente mantenha o servidor de aplicativos atualizado com as atualizações de segurança mais recentes do Microsoft Windows e Serviços de Informações da Internet (IIS), assim como quaisquer pacotes comerciais de controle personalizado que você tenha instalado no seu computador.

Informações mais detalhadas sobre as práticas recomendadas para escrever código seguro e proteger aplicativos podem ser encontradas no livro "Writing Secure Code" de Michael Howard e David LeBlanc ou a orientação fornecida porPadrões e práticas da Microsoft.

Problemas para Usuários de Controle Personalizado

Você deve conhecer que controles personalizados de fontes desconhecidas podem conter os designers que expõem dados confidenciais do seu computador para a Web, ou executar código mal-intencionado em tempo de design.Além disso, você não pode usar a configuração de acesso de código para limitar o acesso para designers de controle desde que eles devem sempre serem executados no host do design com confiança total.Para obter mais informações sobre níveis de confiança, consulte Níveis de confiança ASP.NET e arquivos de diretiva.

Problemas para Desenvolvedores de Controle Personalizado

Usando atributos de configuração em classes e membros para limitar as permissões para o nível mínimo necessário para a funcionalidade do controle não funciona realmente para componentes do designer desde que eles devem ser executados no host do design com confiança total.

Se possível, sempre use estruturas de dados de exemplo para criar dados para as visualizações do controle de tempo de execução em vez de usar dados potencialmente confidenciais a partir de um banco de dados.

Questões de Design Para Desenvolvedores Host

Os desenvolvedores de hosts de design, como Visual Studio 2005, deveriam verificar marcações HTML, texto e outros dados retornados do Designer pelos riscos de segurança antes de exibi-los.Além disso, limitar o tamanho das strings de marcação HTML e regiões de designer para dimensões gerenciáveis.Para obter mais informações sobre validação HTML, consulte Validando Entrada de Usuário em Páginas da Web ASP.NET

Consulte também

Conceitos

Introdução à segurança do Acessar ao código

Referência

Validando Entrada de Usuário em Páginas da Web ASP.NET

Outros recursos

Diretrizes e práticas recomendadas