ASP.NET
- Protegendo arquivos
Por padrão quando você cria uma página ASP.NET
ele esta configurado para interceptar e negar requisições para diversos tipos de
arquivos que são usados nas aplicações ASP.NET. Estes tipos de arquivos não
podem e nem devem serem 'baixados' pelos usuários. Estes tipos de arquivos
incluem: arquivos .config que armazenam informação sobre a configuração
usada na aplicação ; arquivos .cs ou .vb que armazenam o código
fonte de aplicações feitas em C# e VB.NET.
O ASP.NET assegura a privacidade destes
arquivos através da associação dos mesmos com o namespace
System.Web.HttpForbiddenHandler. Este namespace retorna um erro ao
usuário que tenta fazer uma requisição de upload para estes arquivos.
Podemos usar a mesma sistemática para proteger
outros tipos de arquivos , arquivos que estão no servidor e que não devem nunca
ser baixados pelo usuário.
Vejamos como podemos realizar este serviço.
Vamos supor que você criou uma aplicação ASP.NET que acessa um banco de dados
Access (*.mdb) que deseja proteger o arquivo de banco de dados com
extensão .mdb da sua aplicação afim de não permitir que ele possa ser
baixado por algum usuário malicioso.
1- Configurando o Internet Information
Services
- Abra o painel de controle ; clique em
Desempenho e Manutenção e a seguir clique em Ferramentas Administrativas
- A seguir clique duas vezes em
Internet Information Services ; na janela
Internet Information Services expanda o seu site da web padrão e clique
com o botão direito do mouse sobre o diretório virtual da sua aplicação e
selecione a opção propriedades:

- Na janela Propriedades de <nome do seu
diretorio> selecione a aba Diretório Virtual e clique no botão
Configuração.

- Na janela Configuração de aplicativo
vamos identificar o local do arquivo Aspnet_isapi.dll
que manipula as requisições ASP.NET selecione então a extensão .aspx
e clique no botão Editar.

- Na janela Adicionar ou editar mapeamento
de extensão de aplicativo , na caixa de texto
Executável , selecione o texto da caixa e copie para a área de
transferência ( CTRL + C) e seguir clique no botão Cancelar.

- Você vai retornar para a janela -
Configuração do aplicativo; clique no botão Adicionar , e, a seguir
cole o texto que você copiou anteriormente na caixa de texto Executável
. Informe a extensão do arquivo que você deseja proteger, no nosso caso .mdb
; Na opção Verbos marque - Todos os verbos, e marque as demais
opções exibidas na janela, conforme abaixo.
Finalmente Clique no botão OK.

- Repetida este procedimento para os demais
arquivos que você deseja que seja processado pelo ASP.NET.
Para bloquear o arquivo para a sua aplicação
ASP.NET faça o seguinte:
- Abra o arquivo Web.config com um
editor de texto. Este arquivo está localizado na raiz do diretório da sua
aplicação Web.
- No arquivo Web. Config inclua um
elemento de configuração <httpHandlers> debaixo do elemento <system.web>
- Neste elemento use tags <add> para
especificar os tipos adicionais de arquivo que você deseja bloquear. Defina o
atributo verb como sendo igual a "*" e defina o atributo path
com a mascara * mais a extensão o tipo de arquivo que deseja bloquear.
Veja exemplo abaixo:
<? xml
version="1.0"
encoding="utf-8"
?>
< configuration>
<system.web>
<httpHandlers>
<add
verb="*"
path="*.mdb"
type="System.Web.HttpForbiddenHandler"
/>
</httpHandlers>
......
.......
</system.web>
</configuration>
|
Pronto
! Eu sei , é apenas ASP.NET , mas eu gosto...

José Carlos Macoratti