Palestra na FIEB em Barueri sobre Desenvolvimento Seguro
Essa palestra foi ministrada em 2010 (eu sei, faz tempo), e procurando algumas coisas no HD encontrei o arquivo da apresentação e me lembrei de que não havia postado no Slideshare. Então resolvi colocar um post aqui pois as dicas ainda são válidas!
O público alvo eram alunos do ensino médio/tecnico que tinham dentro do conteúdo programático, matérias como Web Design e Programação para Web. Pensando nisso tentei deixar o conteúdo mais 'leve' e descontraído!
Abaixo os slides!
Segurança no Padrão de Desbloqueio Android
Recentemente adquiri um celular com o sistema operacional Android. Como sabemos, celular é um dispositivo "pessoal", ou seja, muitas informações pessoais/confidenciais estão armazenadas lá. Como de meu costume a primeira funcionalidade que procurei no celular foi a de bloqueio/desbloqueio do aparelho para evitar que eventuais curiosos tenham acesso a essas informações.
O Android disponibiliza um recurso chamado "Padrão de Desbloqueio". Trata-se de uma matriz de 3x3 pontos onde o usuário ao tocar na tela desenha um "caminho" conhecido somente por ele (pelo menos deveria ser assim!), e quando ele precisa utilizar o aparelho ele desenha esse mesmo caminho para desbloquear.
Uma das verdades absolutas é que um smartphone com tela sensível ao toque é impossível de ficar sem umas marquinhas de gordura de dedo. Então fica claro que o padrão que você desenhou para desbloquear o aparelho ficará fácilmente visível contra a luz e poderá ser facilmente reproduzido por um terceiro, fazendo com que ele tenha acesso as suas informações! rá
Obs.: O caminho desenhado tem um começo e um fim. O fim é onde a digital não está borrada, onde a digital fica mais "vísivel". Talvez sabendo a orientação da pessoa (destro ou canhoto) ajude a identificar o início e o fim do padrão.
Como mitigar:
- Limpar a tela de forma que o padrão não seja visível
- Ao desenhar o padrão, tentar esconder a tela de modo que outrem não visualize o padrão que fica verde (só faltou piscar para ficar mais fácil rs) Obs.: Desativar em: Config.->Localização e Segurança->Utilizar Padrão Visível
- Utilizar pelo menos 5 pontos para desenhar o padrão
Ainda não tive tempo para pesquisar algum software que possa aumentar o nível de segurança desse recurso ou até mesmo substituir. Dicas são bem vindas.
Comparando tipo e valor entre zvals
Outro dia precisei fazer uma comparação idêntica entre zval's como no seguinte exemplo em UserSpace:
<?php
$a = "10";
$b = 10;
if ($a === $b) {
echo "Identico";
} else {
echo "Diferente";
}
?>
Então comecei fazendo com um switch(Z_TYPE_P(zval1)) { case IS_LONG...... e por aí vai... o código estava ficando enorme. Resolvi parar de perder tempo e pesquisar a API.
Na API encontrei a função is_identical_function(zval *result, zval *op1, zval *op2 TSRMLS_DC) que faz a comparação das zval's op1 e op2 e coloca o resultado na zval result que por sua vez é do tipo IS_BOOL.
Exemplo de utilização da função:
PHP_FUNCTION(teste_identical)
{
zval result;
zval *a = NULL;
zval *b = NULL;
/* Inicializando a e b */
MAKE_STD_ZVAL(a);
MAKE_STD_ZVAL(b);
/* Atribuindo valores para a e b */
ZVAL_STRING(a, "10", 1); /* valor de a é "10" (IS_STRING) */
ZVAL_LONG(b, 10); /* valor de b é 10 (IS_LONG) */
/* Faz a comparação entre as zval's */
is_identical_function(&result, a, b TSRMLS_CC);
/* limpando memória, pois o resultado já está em result */
efree(a);
efree(b);
/* agora que o resultado da comparação está em result podemos verificar */
if (Z_BVAL(result)) {
php_printf("eh identico\n");
} else {
php_printf("nao eh identico\n");
}
}
Bom, essa é uma dica... e outras virão em próximos posts!
Um pouco do passado…
Estou aproveitando as férias para colocar o computador que fica na casa dos meus pais em dia, e por acaso encontrei o meu primeiro "programa" desenvolvido em C com ncurses.
Trata-se de um programa que realiza um cálculo para saber qual o número de espiras do primário e do secundário de um transformador, a bitola do fio do primário e do secundário e também a área do núcleo em cm2. Como o meu pai trabalha com eletrônica seria útil para ele confeccionar novos transformadores e recuperar queimados...
Na época (2001) fazia apenas um ano e meio que conhecia GNU/Linux e quando conheci a libcurses esqueci que existia conio.h (Turbo C) e passei a usar apenas Linux para me aventurar no desenvolvimento em C (pelo menos aquela época rs). No código fonte tem até "goto"! rsrs pois é, eu estava aprendendo...
Tinha até pensado em colocar o "Trafo" no SourceForge, mas pensei que não fosse dar certo então ficou apenas para uso pessoal. Hoje compartilho com vocês o Trafo (é o nome do programa).
Abaixo dois screenshots:

Splash Screen do Trafo 1.0

Tela principal do Trafo (e única rsrs)
Código Fonte
...bom esse foi um pouco do meu passado. Feliz 2010 para todos!
PHP UnConference Brasil 2009
Este ano o principal evento de PHP da américa latina, o PHP Conference Brasil, teve um novo atrativo para a comunidade, que é o PHP UnConference Brasil.
O PHP UnConference (ou Desconferência) é um evento que acontece dentro do evento principal, que tem o objetivo de ceder um espaço para novos palestrantes ou palestras que não foram submetidas a tempo para o evento principal.
A organização da UnConference foi feita pelo GU PHPSP em conjunto com o organização do evento principal.
Apesar de ter ocorrido um pequeno problema na sexta-feira, de a sala reservada para o UnConference não ter projetor, o problema foi solucionado no sábado com uma nova sala com projetor e microfone.
Eu aproveitei a oportunidade da UnConference para estrear como palestrante e sentir o "drama".
A minha palestra foi sobre "Desenvolvimento de Extensões PECL" que foi um sucesso! Pois na agenda da palestra era previsto uma "Demo Ao Vivo" de compilação de uma extensão, como foi a primeira vez que palestrei, tive um pouco de receio de não funcionar e que algo desse errado na compilação... mas o Murphy não esteve presente.
Bom, gostaria de agradecer ao GU PHPSP pela força e organização assim como também a coordenação do PHP Conference Brasil e aqueles que acreditaram no meu potencial e votaram na minha palestra.
Até o próximo ano, e quem sabe com palestra na grade principal!






