Archive for abril, 2011

Evite ataques de SQL Injection no PHP e MySQL

Fonte: www.maisumblog.com

Em geral, o termo SQL Injection é bastante conhecido. No entanto, fazer uma função para projetos em PHP e MySQL, que evite de forma eficaz os problemas de segurança e não seja destrutiva, não é um assunto de conhecimento de todos.

Alguns programadores usam a função str_replace() para remover palavras como SELECT, DELETE, UPDATE, TRUNCATE, entre outras. No entanto, se um usuário do site, por exemplo, for falar sobre programação ou usar um desses termos em inglês ele simplesmente vai sumir do seu texto. Outra função adotada é htmlspecialchars() e htmlentities(), que aumentam o volume dos dados no banco de dados e deixam elas como HTML sendo que em outras aplicações pode ser totalmente desnecessário e não compatível o uso desses caracteres.

Também é conhecida a função addslashes(), que adiciona barras invertidas antes de aspas simples e duplas. Esta função é funcional, porém meio ultapassada e prejudica a visualização dos textos. É possível remover as barras nos dados vindos do banco com o auxílio da funcão stripslashes(), desta forma o trabalho será dobrado, pois os dados serão tratados na entrada e saída do banco sem necessidade.

Sendo assim, seguem sugestões que realmente previne sistemas contra ataques de SQL Injection sem comprometer textos ou aumentar o volume no banco de dados.

A melhor função para proteger sistemas em PHP e MySQL contra SQL Injection é a mysql_real_escape_string(), ela escapa os caracteres especiais como aspas simples e duplas antes de enviar para o banco de dados.

Também é preciso ter em mente que se a diretiva get_magic_quotes_gpc() estiver ON ele irá acrescentar barras invertidas automaticamente antes de aspas simples e duplas, o problema é que ele irá enviar para o banco de dados com as barras invertidas, comprometendo o texto. Para contornar isso basta usar a função stripslashes() para remover essas barras invertidas.

Segue exemplo da função com o nome de anti_sql_injection():

Note que na função primeiro é verificado se a o valor informado não é numérico, ou seja, que precisa ser tratado, em seguida, se a diretiva get_magic_quotes_gpc() está ativada, se estiver usa-se a função stripslashes() conforme falado anteriormente. Logo verifique se existe a função mysql_real_escape_string(), se existir use-a, caso contrário usamos a função mysql_escape_string().

Veja um exemplo de como usar a função:

Pronto! Agora sua aplicação está protegida contra ataques de SQL Injection, e o melhor de tudo, sem destruir o conteúdo do sistema.… Continue lendo

KingHost no Fórum da Liberdade na Era Digital

Quando falamos em Liberdade, o que nos vêm a cabeça? Este questionamento foi abordado no 24º Fórum da Liberdade, como tema principal – a Liberdade na Era Digital.

Neste ano, a abordagem salienta a oportunidade de inserção que a internet proporciona para sociedade na era tecnológica.

Como é possível expandir e estimular o conhecimento, vincular liberdade de ideias nas
redes?

No primeiro painel do evento, Lobão, músico… Continue lendo

Sugestões para melhorar o desempenho da sua extensão para Firefox

Colaboradores: Mariana Sandini e Matheus Storck

(Via www.developer.mozilla.org)

Uma das vantagens do Firefox é a possibilidade de utilização de extensões. Ainda que estas colaborem para suprir necessidades específicas que ajudam a personalizar o browser, é importante lembrar que estas podem ter impacto sobre a experiência de navegação, inclusive sobre o desempenho global do próprio Firefox. Seguem algumas dicas que podem melhorar o desempenho da sua extensão, refletindo na… Continue lendo


 

abril 2011
S T Q Q S S D
« mar   mai »
 123
45678910
11121314151617
18192021222324
252627282930