Os 25 mais perigosos erros de programação

March 18th, 2009

Recentemente o SANS Institute divulgou um artigo interessantíssimo listando os 25 erros mais perigosos - e comuns! - cometidos por desenvolvedores de software. São erros críticos, que podem comprometer todo um sistema e expor este a ataques de pessoas mal-intencionadas ou mesmo de usuários curiosos :-)

Sem delongas, segue a lista dos erros.

1) Má (ou inexistente) validação de dados do usuário

Um dos “mandamentos” de todo programador: “Nunca confie nos dados do usuário!“. Sempre, sempre faça validação. Como fazer isso irá variar conforme a sua aplicação. Por exemplo, se o seu sistema perguntar a idade do usuário, confira se o valor digitado é um inteiro.

2) Uso de encoding errado no output. (ou falta de “escape characteres”)

Encoding - ou codificação - é a nossa segunda fonte de erros.

Digamos que você tenha um componente A no seu sistema, que se comunica com o componente B através de comandos. Pois bem, digamos que um dos comandos seja IMPRIMIR palavra o que acontece se o componente A quiser imprimir a string IMPRIMIR? Se ele enviar IMPRIMIR IMPRIMIR o componente B pode achar que são dois comandos, e então desencadear uma falha substancial no sistema.

3) Falha em preservar a estrutura de uma query SQL (SQL injection)

SQL Injection é uma das técnicas hacker mais simples e, ao mesmo tempo, mais eficientes.

Sem me alongar nesta falha, eu apenas pergunto: O que acontece nas suas aplicações se o usuário entrar com o valor ‘; DROP TABLE users;’# ?

Nada? Afortunado ou prevenido és, caro leitor…

4) Falha ao preservar a estrutura do seu documento HTML (Cross-site scripting).

Digamos que você tenha um site onde os usuários podem criar um perfil, com uma breve descrição.

Então, um usuário mal-intencionado insere um pedaço de código HTML nessa descrição, que explora uma falha em um browser conhecido (o IE, por exemplo. :-) )

Se o seu site nao retirar este pedaço do código da descrição do usuário, outros usuários podem acessar o perfil e sofrer as consequências da execução do código malicioso. E o culpado, pasme, é você.

Vou continuar com as outras falhas no próximo post, para este post não ficar muito grande - e ninguém ler.

Adobe lança editor (e conversor) de PDF online

March 13th, 2009

A Adobe lançou um editor de texto online, que gera arquivos no formato PDF. Além disso, a ferramenta online também permite a conversão de vários tipos de arquivos - entre eles, o Microsoftiano .doc.

O editor é muito bom. Acabei de testar e realmente - muito bom mesmo.

A “Web 2.0″, que ultimamente não tinha muitas novidades, ganhou um competidor de peso.

Ah! já ia me esquecendo - é grátis, basta fazer um cadastro no site.

Os links:

http://www.adobe.com/acom/

http://www.adobe.com/acom/connectnow/

Próximas versões da biblioteca QT serão LGPL

January 17th, 2009

A biblioteca qt, muito usada para criar aplicações gráficas em C++ (e até Java, python, etc…) irá mudar da licença GPL para a LGPL (Lesser General Public License).

A principal diferença entre as duas é que a LGPL permite que a biblioteca seja utilizada por um software que não seja GPL - bibliotecas GPL obrigam o software “hospedeiro” a ser distribuído também como GPL.

Esta mudança implicará no maior número de usuários de QT, já que muitos desenvolvedores/empresas ainda relutam bastante em distribuir seus produtos sob a GPL.

Apoio completamente a decisão do pessoal do amado qt :-)

Microsoft Dreamspark chega ao Brasil

January 16th, 2009

Enfim, a Microsoft disponibilizou aos estudantes de computação do Brasil o seu programa “Microsoft DreamSpark”. O que é isso? é um programa que oferece gratuitamente a possibilidade de uso de algumas plataformas de desenvolvimento Microsoft, tais como o Visual Studio 2008 Professional, Visual Studio 2005 Professional, SQL Server 2008 Developer, Windows Server 2008 Standard, Windows Server 2003 e treinamentos online oficiais da Microsoft.

Obviamente não é nenhum ato de extrema benevolência - mas uma estratégia de marketing agressivo para aumentar os usuários destes produtos. Usuários estes que um dia irão se formar e, se quiserem continuar utilizando as ferramentas, terão que colocar a mão no bolso.

Ouço por aí muita comparação desse programa com a estratégia daqueles traficantes de drogas que, esperando viciar o cliente, dão as primeiras doses de graça. A comparação é meio pesada, mas cabível.

É claro que também existe o lado bom do programa, que é dar oportunidade a alunos que geralmente não têm condições financeiras de comprar tais licenças.

Ao meu ver, um programa útil - que eu não usaria, por ser levemente inclinado ao uso de software livre - mas que com certeza será de grande valia para muitos universitários, que, tal como os usuários de drogas, têm o completo poder de decisão de entrar ou não no mundo do desenvolvimento Microsoftiano :-)

Como se tornar um programador de sucesso

December 21st, 2008

Ok, não é em apenas 1 post que eu vou conseguir ensinar uma coisa dessas - coisa, aliás, que eu mesmo ainda não descobri :-)

Mas um exercício interessante é analisar as carreiras de grandes personalidades do meio, e quem sabe, através da estatística, descobrir um fórmula de sucesso. (Nada mais nerd do que isso)

É exatamente isso que é feito no post
“Famous Programmers From Adleman to Zimmermann”

Vale a pena ler.