Interfice errorem, diligere errantem

Pogramação

Truques e dicas de programador para programadores

Segurança das aplicações Android

Ao contrário do que se possa pensar, a segurança é um mito. Não existem soluções totalmente seguras. Basta olhar para os últimos meses, com o ataque à infra-estrutura da Sony, o ataque às centrifugadoras de urânio iranianas ou ao mediático conflito entre a Apple e o FBI, que trouxe para a estrelato a empresa israelita Cellebrite no dito “impossível” desbloqueio do iPhone.

 

Tudo se resume a uma questão de empenho, tanto em recursos como em tempo, para conseguir quebrar e entrar em qualquer sistema. Exemplos disso, por excelência, são os cofres-fortes. Explicando de forma resumida, a avaliação destes é feita com base no tempo de que um “ladrão” profissional necessita para o arrombar usando processos mecânicos e elétricos, sem destruir o conteúdo. Um cofre da classe “TL-15” tem que, de acordo com a norma aguentar 15 minutos de tortura, com instrumentos mecânicos e/ou eléctricos, antes de ser aberto.

 

O segredo na escolha de um bom sistema de segurança, tanto no mundo real como no mundo digital, é encontrar uma solução que seja mais difícil de penetrar e eleve o risco de se ser apanhado, de forma a que o nosso ladrão não veja uma oportunidade, mas sim uma fonte de aborrecimentos. Precisamos de mostrar o seu atrevimento lhe vai sair caro.

 

Dito isto, falando agora no mundo digital e mais precisamente em aplicações Android, há medidas simples que podemos tomar para dificultar a vida aos piratas. E o que é mesmo uma aplicação Android? Não é mais do que um ficheiro comprimido, do formato ZIP, com a extensão apk (Android Package), que é lido pelo instalador do Android, responsável por definir espaço, criar pastas e copiar os ficheiros nos devidos destinos para depois ser executado pelo sistema operativo quando for solicitado pelo utilizador.

 

Dentro de um Android Package típico, temos a seguinte estrutura:

 

Estrutura de um ficheiro APK

 

Continue reading

Tratamento de erros em ASP

O ASP não possui um mecanismo de try catch como as linguagens baseadas em C++. No entanto tem um mecanismo simples que podemos utilizar para tornar os nossos scripts robustos. Podemos obrigar, na ocorrência de um erro em runtime, o continuar do fluxo de execução. Basta depois verificar o objecto err para verificar se houve erro e, se sim, qual a respectiva mensagem de erro.

Ex:

function DoSomeThing()
on error resume next
'Código 
.....
  If Err.number <> 0 then 
    Response.Write "Erro:" & Err.description 
  End If
'Mais código
...
  If Err.number <> 0 then 
    Response.Write "Erro:" & Err.description 
  End If 
 
end function

Para o programador, basta verificar a existência de erros depois de cada operação crítica, como abertura de ficheiros ou acessos aos servidores de dados, e reagir conforme os códigos de erros obtidos.

APM

Como redireccionar o browser para outra página em PHP?

Redireccionar o browser para outra página em PHP é feito enviando, utilizando o protocolo HTTP, a directiva Location.

<? 
  header("Location: <outro url>"); 
  exit(); 
?>

Este código deve ser colocando antes de qualquer envio de html pois o PHP, assim que iniciamos a escrita do html, envia os respectivos headers e esta chamada deixa ter utilidade já que é tardia.

APM

Como navegar para um url em Adobe Flash

No Adobe Flash, botão direito no objecto que pretendemos utilizar (ex: botão) e escolher “Action”. Inserir o código:

var lv_objSender = new LoadVars();
lv_objSender.htmlparam1 = "value1";
lv_objSender.htmlparam2 = "value2";
lv_objSender.htmlparam3 = "value3";
lv_objSender.send("http://www.yourdomain.com/yourscript.php", "", "post");

O send recebe três parâmetros:

  1. URL do script
  2. Frame onde será executado
  3. Método HTTP: GET/POST

 APM