terça-feira, 31 de março de 2009

Imprimir código fonte da aplicação

Se você precisa imprimir o código da sua aplicação (acredite, as vezes isso é necessário), abaixo vai uma dica de como fazer isso com Visual Studio.

Abra todos os arquivos que deseja imprimir no Visual Studio, em seguida vá em View > Other Windows > Macro Explorer > Samples > DevStudio6Editor > PrintAllOpenDocuments.

Até a próxima.

quinta-feira, 26 de março de 2009

Utilizando o MSBuild

Quantas vezes você já teve que colocar todo o código fonte da aplicação em um arquivo *.zip mas sem os arquivos *.dll e *.exe para que o arquivo fique mais leve, e com isso teve que remover todos manualmente das pastas bin?
Abaixo vai uma dica bem simples de como resolver esse problema.

Na pasta onde se encontra a solution crie dois arquivo *.bat: Build.bat e Clean.bat (ver imagem)

No arquivo Build.bat insira o seguinte:

%windir%\Microsoft.NET\Framework\v2.0.50727\MSBuild.exe [mySolution].sln /t:Build
Pause

No arquivo Clean.bat insira o seguinte:

%windir%\Microsoft.NET\Framework\v2.0.50727\MSBuild.exe [mySolution].sln /t:Clean
Pause


Agora, se alguma vez já compilou sua aplicação execute o arquivo Clean.bat, caso contrário execute o arquivo Build.bat e veja o resultado.

A dica é simples mas essas são algumas das várias funcionalidades do utilitário MSBuild. Para conhece-lo melhor:

http://blogs.msdn.com/msbuild/archive/2006/01/06/508981.aspx

segunda-feira, 16 de março de 2009

Free ebook ASP.NET MVC Framework


Scott Guthrie disponibilizou recentemente o capítulo escrito por ele no livro ASP.NET MVC 1.0.
Na verdade o capítulo se trata de um tutorial passo-a-passo da criação de um projeto utilizando o ASP.NET MVC Framework.


Vale a pena conferir.


domingo, 15 de março de 2009

Vulnerabilidades de segurança no web.config

Bryan Sulivan, gerente de projetos na SPI Dynamics, fez uma publicação sobre dicas de segurança no web.config, dicas essas que são importantes nos atentarmos no desenvolvimento de aplicações web. Abaixo vamos ter um resumão de seu artigo:

Custom Erros:

Ao desativar os erros personalizados o ASP.Net fornece ao usuário mensagem de erros detalhada, disponibilizando assim informações importantes para um hacker. Ao modificar a tag para “RemoteOnly” ASP.Net é instruído a exibir uma mensagem de erro genérica para chamadas externas, porém nas chamadas locais ele continua exibindo as mensagens de erros detalhada.

Configuração Vulnerável:
(web.config) configuration > system.web > configurationErros mode="Off"
Configuração Segura:
(web.config) configuration > system.web > configurationErros mode="RemoteOnly"

Tracing Enabled

O Tracing, sem dúvida nenhuma, é uma excelente ferramenta para realizar o debug e profiling de uma aplicação web, porém pode oferecer informações preciosas a um hacker para atacar sua aplicação caso esteja habilitado.

Configuração Vulnerável:
(web.config) configuration> system.web > trace enable="true" localOnly="falso"
Configuração Segura:
(web.config) configuration > system.web > trace enable="false" localOnly="true"

Debug Enabled

Um erro muito comum no processo de implantação de aplicações web é a publicação do sistema com o debug habilitado, além de ocasionar em problemas de performance você pode estar fornecendo informações privilegiadas as quais os clientes finais não deveriam ter acesso. Por exemplo se você não tiver desabilitado o debug e desabilitado custom erros, então qualquer mensagem de erro exibida para um usuário final incluirá não somente as informações do servidor, mensagem de erro detalhada e statck trace, mas também o próprio código fonte da página onde ocorreu o erro.

Configuração Vulnerável:
(web.config) configuration > system.web > Debug="true"
Configuração Segura:
(web.config) configuration > system.web > Debug="false"

Cookies acessíveis através de client-side script

Ao alterar a propriedade httpOnlyCookies para "true" você garante, globalmente para sua aplicação, que os cookies gerados estarão acessíveis somente no lado do servidor e que não estarão disponíveis a linguages client-side script como o Javascript.

Configuração Vulnerável:
(web.config) configuration > system.web > httpCookies httpOnlyCookies="false"
Confiuração Segura:
(web.config) configuration > system.web > httpCookies httpOnlyCookes="true"

Cookieless Session State Enabled

Na primeira versão 1.0 do ASP.Net para se manter o estado de uma sessão ela era armazenada em um cookie. Isso porém causava problemas quando o usuário não aceitava a criação de cookies. Para resolver esse problema a Microsoft adicionou o suporte a cookieless session tokens.

Embora essa solução tenha resolvido o problema da persistência de sessões, ela pode causar uma brecha de segurança muito grande já que o token gerado é adicionado a barra de endereço do navegador (ex.: http://myserver/myapplication/(1234567ABCDEFG)/default.aspx)

Configuração Vulnerável:
(web.config) configuration > system.web > cookieless="UseUri"
Configuração Segura:
(web.config) configuration > system.web > cookieless="UseCookies"

Outras opções de configuração podem ser realizadas no web.config para garantir segurança a sua aplicação, inclusive Bryan Sulivan disponibilizou a parte II de seu artigo que em breve pretendo colocar no blog.

Fonte: http://www.developerfusion.com/article/6745/top-10-application-security-vulnerabilities-in-webconfig-files-part-two/2/