Produtividade e Segurança na publicação de um website

 

Muitas vezes nos deparamos com a situação de desenvolver um projeto WEB e disponibilizá-lo ao cliente com o envio do código-fonte para uma instalação local.

 

Junto com essa demanda, chegam as preocupações referentes ao uso desse código-fonte, tais como:

·         Após tanto tempo de desenvolvimento, meu cliente é o detentor do código fonte?

·         Em uma possível manutenção, será que ele solicitará nossos serviços ou alterará por conta própria?

 

De fato, essas e algumas outras questões são pertinentes. No entanto, são pertinentes para projetos de tecnologia legada, afinal, o Visual Studio 2005, Framework e o ASP.NET 2.0 trazem muitos benefícios que irão minimizar quase absolutamente todas as dores de cabeça antes descritas.

 

O Visual Studio 2005 trás um novo recurso de publicação de um website. Com este recurso, você pode, de forma bem simples e intuitiva, publicar o seu site em um caminho local, ftp, etc, sem precisar de nenhuma outra ferramenta, aumentando, dessa forma, a produtividade. Além disso, o recurso de publicação trás recursos de segurança para nossos aplicativos.

 

Para acessar este recurso basta selecionar o projeto WEB na Solution Explorer, ir até o menu Build – Publish WebSite (ou botão direito do mouse encima do projeto web e clicar na opção Publish Website, conforme figura abaixo).

 

ebpspuwsfig01.jpg 

Figura 01 – Recurso de publicação de um website

 

A janela abaixo representa o resultado obtido dos passos acima, e cada opção contida nesta janela é de extrema importância, vejamos:

 

ebpspuwsfig02.jpg 

Figura 02 – Dados para publicação

 

Na opção Target Location especificamos o caminho ftp, local, etc, para onde os arquivos serão copiados.

 

Exemplo:

·         C:\InetPub\wwwroot\SistemaVendas\

·         ftp://ftp.SistemaVendas.com.br

 

Depois temos que prestar atenção na opção mais importante, que por sinal, é a primeira com a qual nos deparamos: “Allow this precompiled site to be updateable”. Esta quando marcada, gera as dlls dos arquivos de code-behind (.cs e .vb por exemplo). Sem dúvida, já é um grande ganho, afinal, toda a regra de negócio não fica acessível no cliente.

 

ebpspuwsfig03.jpg 

Figura 03 – Arquivos publicados

 

ebpspuwsfig04.jpg 

Figura 04 – Pasta bin da aplicação com os arquivos compilados

 

Mas agora lhe pergunto, e se eu tiver uma regra de negócio nos próprios arquivos .aspx? Pois é, neste cenário precisaríamos que o conteúdo dos arquivos .aspx também fossem compilados evitando, dessa forma, que o cliente (com acesso ao servidor, claro) tenha acesso a qualquer regra de negócio contida nesse arquivo .aspx. Para isso, temos que desmarcar opção “Allow this precompiled site to be updateable” que gera o interessante resultado de compilar o code-behind e todo o conteúdo existente nos arquivos .aspx. Dessa forma, a única informação que encontramos nos arquivos .aspx é:

 

ebpspuwsfig05.jpg 

Figura 05 – Pasta bin com os arquivos .aspx compilados

 

ebpspuwsfig06.jpg 

Figura 06 – Informação contida nos arquivos .aspx

 

Fantástico, não? Portanto, vimos como esse recurso de publicação do Visual Studio minimiza e muito nossas antigas preocupações . Don’t worry, use .net!

 

Até o próximo!