rafael bernard araujo

desenvolvendo…

APREX - Escritório Virtual

Para quem quer ser produtivo, organização é condição sem a qual não existe. E são muitas coisas a organizar. Muitas coisas que podem ou não se relacionar, que vamos ou não compartilhar, que queremos ou não distribuir etc. Com a utilização da rede mundial temos ainda outras opções para ajudar e melhorar nossa produção.

Vou falar no escritório que tenho usado para organização e como ferramenta para minha produtividade. Claro que como ferramenta ela só é um suporte, pois a produtividade em si só acontece com nossas ações. Está disponível, então, o meio para produzir.

http://www.aprex.com.br

Tenho utilizado a conta gratuita do Aprex. E não hesitarei em assinar um plano caso necessite, pois as ferramentas são maravilhosas. Vou deixar que ele mesmo se apresente:

Um revolucionário serviço online para organização e produtividade de indivíduos e grupos de trabalho. São ferramentas que melhoram o relacionamento e comunicação entre colegas, funcionários, clientes e fornecedores. Atualmente temos 3 serviços disponíveis: Escritório Online, Apresentações Online e Email Marketing.

O público-alvo do Aprex são profissionais liberais, pequenas e médias empresas, instituições de ensino, organizações governamentais e não-governamentais, e até mesmo grupos de amigos, famílias e indivíduos que desejam organizar melhor seu tempo e informações.

A descrição não exagera ao chamar de revolucionário, pelo menos na minha concepção.

No Escritório Virtual, temos: Calendário, Contatos, Tarefas, Disco Virtual, Bloco de notas, Links, Blog, Enquetes, Mobile e Quick Mail. Temos todas essas categorias para organizar dados de nosso dia-a-dia.

Em Apresentações temos a possibilidade de criar apresentações e apresentá-las em qualquer lugar que tenha conexão com a internet.

Em E-mail Marketing temos uma poderosa ferramenta para qualquer necessidade que tivermos para envio de mensagens seguindo todas as boas diretrizes anti-spam. Há o controle de campanha e de listas de contatos (com gerenciamento de cadastramento e descadastramento - por nós e pelo destinatário da mensagem).

O Aprex possui muitas funcionalidades e ao mesmo tempo é muito simples (e intuitivo) de utilizar. Recomendo.

Meu escritório: http://rafaelbernard.aprex.com.br

Aonde você deseja se conectar hoje?

O site ConnectionString vem com uma proposta simples e muito útil: fornecer linhas de conexão. Tem conexão para tudo (claro que figurativa e não literalmente como logo sapecariam umas salsas - literais?). Há conexões bancos de dados (SQL Server, Informix, MySQL, Progress, Paradox, Firebird etc), arquivos de dados (Excel, TXT, SQL Lite etc) e também para outros tipos (MS Project, Active Directory, Exchange, DNS etc).

A idéia de ConnectionString é fornecer uma fácil referência para linhas de conexão.

Hoje, existem 213 linhas de conexão no banco de dados coletadas a partir de outros sites da internet, livros, arquivos de ajuda, msdn ou que tenham sido submetidos pelos colegas desenvolvedores de todo o mundo.

Se alguém conhecer algum projeto semelhante para outras linguagens, não deixe de colocar nos comentários, por favor.

Galvão bota a mão na massa em SP

Quem está em SP e estiver disponível em 1º de março (1ª edição) ou 31 de maio (2ª edição) terá uma ótima oportunidade de conhecer ainda mais sobre práticas de segurança no desenvolvimento em php. Recebi a seguinte mensagem do Er Galvão:

No dia primeiro de Março estarei em São Paulo ministrando um workshop sobre segurança em aplicações PHP, focando em tópicos específicos e técnicas 100% práticas de defesa.

Er Galvão entende muito de segurança e tem grande facilidade em passar seu conhecimento, como pode ser visto no artigo Segurança no PHP. Se eu estivesse em São Paulo, não perderia.

Segurança no desenvolvimento é fundamental para que a internet seja, verdadeiramente, uma ferramenta benéfica para o comércio. Conheço códigos de lojas virtuais que não foram desenvolvidas com preocupação nos tópicos de segurança. Se isso acontece por terem sido construídas antes de se conhecer as práticas atuais, está mais do que na hora de que sejam reconstruídas. Imagine o prejuízo que já se tem (só não se sabe) quando algum criminoso digital conhece essas falhas.

Use a tecnologia a seu favor. Ouça o que o Er Galvão tem a contribuir.

http://www.temporealeventos.com.br/?area=88

São Paulo - SP
1 de Março 31 de maio das 9h00 às 17h00 (2ª edição)

Aprenda: 1 profissional por máquina

PHP: Proteja sua Aplicação

técnicas para defender sua aplicação PHP de ataques como SQL Injection, Cross Site Scripting e Cross Site Request Forgeries

Objetivo: Neste treinamento o profissional aprenderá técnicas para defender sua aplicação PHP de ataques como SQL Injection, Cross Site Scripting e Cross Site Request Forgeries. Primeiramente serão apresentados exemplos práticos de funcionamento de cada um destes ataques de forma à compreender os pontos fracos de cada aplicação. Serão então colocadas em prática diversas técnicas, variando das mais simples às menos óbvias que axiliarão o desenvolvedor à diminuir consideravelmente o nível de vulnerabilidade de suas aplicações.

Público Alvo: Desenvolvedores PHP e demais interessados

Pré-requisitos: Conhecimentos básicos de HTML e Conhecimentos intermediários de PHP

Sistema operacional em que o curso será ministrado: Linux

Após o término deste treinamento o participante estará imediatamente apto a: Compreender o funcionamento dos ataques mais comuns que rondam a web, desenvolver aplicações mais seguras e robustas, menos vulneráveis à ataques.

Conteúdo Programático

Boas práticas:

O que todo o programador PHP deveria saber
O que é e como funciona um ataque de SQL Injection
SQL Injection - Técnicas de defesa: Porque addslashes não é o bastante
O que é e como funciona um ataque de Cross Side Scripting (XSS)
XSS - Técnicas de defesa
O que é e como funciona um ataque de Cross Site Request Forgeries (CSRF)
CSRF - Técnicas de defesa

A em emergência

Recebi uma menel* com o seguinte texto:

As equipes de emergência médica se deram conta de que, muito frequentemente, nos acidentes em rodovias, os feridos portam consigo um telefone celular. No entanto, na hora de os médicos fazerem uso para se comunicar algum parente, não sabem com quem contatar entre a longa lista de números.

Assim, lançam-nos a idéia de que todos adicionem em sua agenda do telefone celular um número da pessoa a ser contactada, em caso de acidente, sob a expressão ” A Em emergência”. (O A é para que apareça sempre em primeiro lugar na lista).

É algo simples, não custa nada e poderia nos ajudar demais.

SE LHE PARECE UMA BOA IDÉIA, REPASSE ESTA MENSAGEM AO MAIOR NÚMERO POSSÍVEL DE PESSOAS.

Me perguntei imediatamente se realmente era pertinente. Uma das primeiras coisas que me chamou a atenção é o anonimato da mensagem. Quem escreveu? Realmente as emergências médicas têm influência nisso? Já fico desconfiando dos sinais de Spam e lendas da internet.

Pergunto porque não vejo grande diferença assim não. Há tantos “Pai”, “Mãe”, “Casa” nos telefones celulares (pessoalmente não identifico assim, mas cada um com seu cada um), será que há tanta dificuldade assim? E mesmo que não haja, qual a dificuldade de ligar para um dos números e, provando ser mesmo da emergência médica, conseguir o contato com o familiar daquela pessoa? Ou mesmo pedir que a pessoa contactado ligue para os familiares do paciente?

Ao colocar ” A Em emergência” não estaríamos dando munição para os criminosos no país do sequestro pelo celular? Que facilidade para eles, não? Já saberiam a quem ligar.

Prefiro continuar com a minha desconfiança.

* Sem e-mail é eletronic mail, em bom português mensagem eletrônica é menel. :-P

Dicas de inglês

Eu sempre fui um apaixonado por idiomas. O colégio onde estudei nos obrigava a estudar francês e inglês da 5ª série do Ensino Fundamental até o 1º ano do Ensino Médio. Depois, devíamos escolher uma das duas para estudar nos últimos dois anos. Além disso, tivemos aula de Grego (6ª série) e Latim (7ª série). Confesso que não me esforcei em francês por birra  pessoal com o idioma (já passou :-P), mas mesmo assim me surpreendo ao perceber que consigo entender alguma coisa ao ler e ouvir.

O inglês, não sei se pela influência e força da língua ou por outro motivo, sempre teve destaque em minha vida. Estudei em alguns cursos, me formei, falo, leio e escrevo bem, ainda que esteja praticando pouquíssimo. Porém, meu amor por idiomas, e pelo inglês, que é o assunto principal do texto, sempre me leva a procurar uma maneira de me manter em contato o máximo que eu puder.

Há um blog que não me dá outra alternativa a não ser classificá-lo como exepcional. É divertido, informativo, dinâmico, atual, inteligente… Claro que sou obrigado a direcionar os elogios ao dono do blog, que é a pessoa responsável por tudo o que o blog nos passa. Como esse blog mudou de endereço, achei que valia escrever sobre ele.

Amantes do inglês, não deixem de visitar. Amantes dos idiomas, não deixem de visitar: <a href=”http://www.teclasap.com.br/blog” title=”TeclaSap” target=”_blank”>http://www.teclasap.com.br/blog</a>.
<blockquote>
<p align=”justify”>Este blog nada mais é do que a evolução natural do Boletim Tecla SAP, um informativo semanal distribuído gratuitamente por e-mail de 1999 a 2005. Ele continha curiosidades, expressões idiomáticas, os erros mais comuns e como evitá-los, provérbios, etc. O serviço chegou a ter mais de 70 mil assinantes.</p>
<p align=”justify”>O objetivo sempre foi ajudar, de maneira descontraída, quem deseja aprimorar o conhecimento da língua inglesa. Embora escrito em grande parte na língua portuguesa, todas as informações são úteis também para quem domina o idioma. O enfoque é nas dificuldades encontradas por quem fala português. Indicado para alunos de todos os níveis, tradutores, intérpretes, profissionais em geral ou para quem simplesmente tem interesse no assunto. Os textos do blog são altamente instrutivos, descontraídos e o visual das mensagens é bem cuidado e de leitura leve.</p>
<p align=”justify”><em>Cf</em>. <strong><a href=”http://www.teclasap.com.br/blog/colaboradores/”>Colaboradores</a></strong></p>
<p align=”justify”>Abraços a todos</p>
</blockquote>
O <a href=”http://www.teclasap.com.br/blog/2007/10/25/meu-perfil/” title=”Ulisses Wehby de Carvalho” target=”_blank”>Ulisses</a> (já tem nome de dicionário)  é o criador do Boletim e do TeclaSap. Competentíssimo profissional e é só você conferir na <a href=”http://www.teclasap.com.br/blog/na-midia” target=”_blank”>entrevista que ele deu ao Jô</a>.

Ah, agora estou estudando espanhol. Creio que tenho me saído bem. Estou gostando muitíssimo. Depois do espanhol desejo estudar alemão.

Tenho, também, um pequeno projeto pessoal no estudo do grego e hebraico, que estudo sozinho. Meu foco é o uso bíblico dessas línguas e estou criando um <a href=”http://www.dosenhor.com” title=”Dicionário Bíblico e Hebraico” target=”_blank”>pequeno dicionário seguindo o Strong</a>, mas voltado a internet.

Hasta la vista!

Converter formato de data para o formato BR, em uma linha de código só

Vou pedir licença ao Frederico e também palpitar sobre a possibilidade de, em uma linha, converter o formato de data do banco (funciona para o MySQL e outros bancos) para o formato brasileiro em php.

Considerando que <?php $data = "2008-01-09 14:56:06"; ?>:
<?php echo date('d/m/Y H:m:s', strtotime($data)); ?> mostrará 09/01/2008 14:01:06.
<?php echo date('d/m/Y', strtotime($data)); ?> mostrará 09/01/2008.

Simples assim. :-)

Essa solução funciona para datas no formato yyyy-mm-dd hh:mm:ss e yyyy-mm-dd.

Google não ajuda a descobrir senhas de blogs

A Juliana Barreto, da Info, divulgou que o Google ajuda a descobrir senhas de blogs, especificamente o Wordpress. Outros meios de comunicação também divulgaram, mas mencionei a Info por ser um canal de renome quanto as informações de tecnologia (embora o MeioBit já se tornou o canal mais poderoso e correto em minha opinião).

Tudo não passou de uma notícia divulgada apressadamente, sem uma apuração cuidadosa do fato. Levo em conta que uma jornalista que esteja trabalhando na Info conheça algo de tecnologia, ou pelo menos sabe onde procurar informações que dêem embasamento às suas informações e notícias. Tivemos, infelizmente, uma disseminação da insegurança àqueles que utilizam o wordpress.

O Élcio, preocupado com a falta de segurança noticiada, resolveu apurar e o resultado é muito diferente do divulgado. Convido-os a visitar o Blog Fecha Tag para ver o que ele escreveu (e também convido-os a acompanhar, pois há conteúdo de primeira qualidade). De qualquer forma, peço licença a ele para copiar aqui:

Para começar, leia o trecho a seguir desta notícia na INFO Online:

Mas, quando tentou o Google, o especialista descobriu que serviço de publicação de blogs Wordpress é vulnerável a pesquisas específicas. O site armazena dados como hashes MD5, que podem conter senhas, de uma maneira visível ao buscador. Bastaria informar um trecho do algoritmo para encontrar dados relacionados ao usuário e suas senhas.

Uau, belo trabalho jornalístico esse hein? Espalhando o medo. Imagine a reação de um leigo, que tenha um um blog Wordpress, ao ler essa pérola da desinformação. Não parece, lendo esse texto, que o Wordpress tem uma seríssima falha de segurança que pode ser explorada usando o Google? Que se alguém “informa um trecho do algoritmo” vai descobrir uma porção de dados seus? Bom, fui ao site do sujeito e li o artigo em que ele explica como quebrou a senha.

O que aconteceu é que o Wordpress do tal Murdoch foi invadido por um cracker, que criou uma conta de usuário. O Wordpress guarda suas senhas em um formato chamado MD5, um formato de criptografia que transforma qualquer senha num hexadecimal de 32 caracteres, assim:

  • “Sylar” = 7bef5e9683a92c37a266283bf229c2e8
  • “Cap. Nascimento” = 40a4b69d3132bd562dc03e2de30fda3e
  • “Pat Morita” = 261f3880c4eab23075356dbc6b5befc3

O Wordpress faz isso para proteger você. Se alguém invadir seu blog, mesmo assim não vai descobrir sua senha. Então o Murdoch não tinha a senha do sujeito que invadiu o blog dele, tinha apenas o texto “20f1aeb7819d7858684c898d1e98c1bb”. O jeito comum de se descobrir essa senha é o chamado ataque de dicionário. Você consegue um enorme dicionário de palavras e nomes comuns, e faz um programa que converte cada um deles para MD5. Se, ao converter algum, você encontrar o tal texto “20f1…”, pronto, você descobriu qual é a senha.

O problema é que esses ataques levam tempo, pois o computador tem que processar milhões de palavras. E se a senha não for uma palavra comum do dicionário, ela não vai ser encontrada. Assim, “banana” vai ser encontrada, mas “Xbanana43″ não. Acontece que palavras muito, muito comuns, como “banana”, ou nomes de pessoas, provavelmente já tem seu hash MD5 publicados em alguma página na web. E, se está publicado, o Google encontra. Por exemplo, procure pelo MD5 de banana.

Então, ao procurar o MD5 da senha do invasor, o Murdoch achou páginas como essa aqui, uma lista de pessoas chamadas “Anthony”. Ele resolveu tentar então “Anthony” como senha, e funcionou.

Perceba que isso não torna o Wordpress mais vulnerável, porque a senha ia ser descoberta de qualquer maneira, só ia levar um pouco mais de tempo. E para fazer isso, o sujeito tem que ter acesso ao banco de dados com as senhas. Ou seja, já tem que ter invadido o sistema.

Foi só isso. Não há nenhuma vulnerabilidade no Wordpress que, se alguém vai ao Google e “informa um trecho do algoritmo”, vai descobrir seu CPF e número de cartão de crédito. Aliás, será que esse repórter sabe o que significa “algoritmo”? Aprendi quando era criança, quando minha mãe ouviu meu primeiro palavrão, que gente não devia usar palavras que a gente não sabe o que significa.

Você que usa Wordpress, não precisa se desesperar. Só não use senhas óbvias, não acredite em tudo o que você lê por aí e não entre em pânico.

Só lembrando: em Janeiro tem Oficina de Wordpress na Visie

Mirian Pannetiere

Mirian Bottan

Que falta de educação, né? Já usei a foto e nem me apresentei. Mirian, prazer. Sou Rafael. Ah, vai. Diz aí se você não está a cara da X-Heroes Claire Logan Bennet…

Dicas de navegação

Diante da importância de se conhecer aonde pisamos nós e nossas crianças, repasso o que foi divulgado no De Tudo Um Pouco:

A WCF, ONG da Rainha Silvia, da Suécia, está disponibilizando uma cartilha maravilhosa sobre dicas de segurança, na internet, para pais, crianças e adolescentes.

São 44 páginas e você pode baixar neste endereço:

http://www.wcf.org.br/default.htm

Repasse, por favor.

Curso Gratuito de Programação para Web em Java - Tecnoclasta

No Tecnoclata:

Não é necessário se inscrever!

Sejam bem vindos para o curso Programação para Web.

Quem sou eu

Antes de mais nada, quem sou eu: Professor Luís Eduardo, 33 anos, à 10 anos professor na Etep Faculdades de São José dos Campos, uma das escolas técnicas mais conceituadas em meu município e região. E também 10 anos na Sabesp, na divisão de Informática do Vale do Paraíba. Eu sou Tecnoclasta.

Trabalho à 10 anos com Java desenvolvendo sistemas Web para a intranet da Sabesp. Começei com o “macarraônico” código JSP acessando diretamente o banco de dados Oracle, e agora, já evoluído, utilizo Struts mais Hibernate nos projetos novos. É claro que os primeiros projetos ainda estão em funcionamento e manutenção. Portanto lido com todo tipo de código jsp + oracle + struts + outros testes.

Objetivo do Curso

O objetivo deste curso é permitir alguém com boa vontade e dedicação desenvolver pequenos sites em Java. Apenas começar o desenvolvimento, o suficiente para conseguir acompanhar o material mais completo e técnico já presente em abundância na Internet. Será também o repositório de informações para meus alunos do curso presencial, que tem o mesmo conteúdo apresentado aqui.

O curso será dividido em oito partes:

  • XHtml
  • Css
  • JavaScript
  • Java
  • Jsp
  • Jstl
  • Struts
  • Hibernate

Uma sopa de letrinhas não é? Mas não se preocupe, iremos abordar cada um dos ítens devagar e da forma mais didática possível.

Um curso como este é desenvolvido em minha escola em 1 ano. São 6 meses com xhtml, css e javascript, e 6 meses para a parte dinâmica: jsp, jtsl, Struts e Hibernate. E em paralelo Java puro em 6 meses.

Infelizmente eu não tenho organizado comigo todo material com este conteúdo. Eu tenho tudo aqui na cabeça, com cada aula preparada e alguma coisa em anotações. Então vamos desenvolver isso aos poucos, com uma lição por semana. Este é o plano de aulas: uma aula por semana, série de exercício e tira dúvidas direto no comentário das aulas. Quem quiser fazer isso a sério, é necessário uma dedicação de no mínimo 3 horas por semana.

As aulas serão totalmente práticas, então nada de ficar teorizando, e contando histórias, vamos direto ao assunto. Com exceção é claro da aula inicial que é muita teórica.

Inscrições

Não é necessário fazer qualquer inscrição. As aulas serão postadas todas as terças-feiras.

Material Didático:

Para início de conversa precisamos de uma máquina rodando Windows ou Linux, com acesso a internet e só.
Para o meio do curso vamos precisar também de um ambiente de desenvolvimento Java, mysql e gimp. Observe que é necessário tanto o Internet Explorer quanto o Firefox. Se ainda não usa, instale o Firefox o quanto antes, é um navegador excelente, e obrigatório para os testes de compatibilidade. Para o Firefox tem um download aqui ao lado esquerdo.
Os outros downloads você encontra aqui.

Para a próxima aula:

  • Preparar o material, instalar tudo e convidar os amigos para fazer o curso também.
  • Leia: http://pt.wikipedia.org/wiki/Web. Aula dia 9 de outubro: Web como funciona.

Na seqüência:

  • dia 15: Xhtml, escrevendo páginas para Web.
  • dia 22: aprofundando Xhtml, mais detalhes…

Guarde esta página em favoritos (teclas ctrl+d), para poder continuar o curso a partir da próxima aula.
Para os mais entendidos: feeds, ou assine por email

Conteúdo já publicado:

Livros Recomendados:

Html, Xhtml, Css: Use a Cabeca Html Com Css e Xhtml - Elisabeth Freeman, Eric Freeman
Geral Sobre Java:Java como Programar, Deitel
Sobre JSP e Servlet:Use a Cabeça! Jsp - Brian Bashan, Kathy Sierra, Bert Bates

Outros livros:
Sobre Hibernate:Java e Hibernate
Sobre Struts:Java e Struts