Monthly Archives: July 2011

Desinformação na midia: PHP rotulado de vírus

Jornal Hoje exibiu hoje uma matéria que rotula urls terminadas em .php como virus.  a reação da comunidade foi imediata, posts e manifestações surgiram logo em seguida e a hastag #phpvirus foi rapidamente colocada no Trending Topics do Twitter.

Veja a história completa neste post e a matéria que causou toda reação aqui.

O que você pode fazer?

Entre neste abaixo assinado que exige uma retratação da Rede Globo e deixe seu nome. Vamos unir a comunidade PHP e evitar esta desinformação e mancha do nosso trabalho.

Desenvolvedor PHP Pleno: Flex Interativa

A Flex Interativa está contratando um desenvolvedor PHP pleno para trabalhar em um projeto por tempo indeterminado. Estamos na Av. Paulista, ao lado do MASP e procuramos um profissional engajado e auto didata, com muito gás para buscar a excelência.

  • Único requisito: Domínio de Orientação a Objetos.
  • São diferenciais, mas não essenciais:
    • Zend Framework
    • MySQL
    • JavaScript
Espero seu currículo com pretensão salarial no e-mail: augusto.pascutti@flexinterativa.com.br
Quaisquer dúvidas, estou a disposição!

Review: The Developers Conference 2011

Semana passada ocorreu o The Developers Conference 2011 aqui em São Paulo, e desta vez tivemos uma trilha de PHP com 13 palestras. O saldo, como sempre, foi muito positivo. O evento foi muito bem organizado, as salas muito bem preparadas e os participantes muito ativos nas palestras.

A você que não foi, fica a dica de participar no próximo ano! A você que foi, além de agradecermos e esperar que tenham gostado e aproveitado tanto quanto nós, gostaríamos de pedir mais uma coisa: avalie as palestras que você viu no evento. Essa avaliação é importante a todos os palestrantes, para trazerem a vocês um conteúdo cada vez melhor e de uma forma mais bacana.

A quem não foi, resta ver os slides das palestras e aproveitar um pouco do conteúdo que foi apresentado. Se você já tem um cadastro no Joind.in fica fácil, se você ainda não tem, se cadastre e deixe seu comentário no evento e/ou nas palestras no link do Joind.in.

E não se esqueça: Conhecimento é saber que tomate é uma fruta. Sabedoria é não colocá-lo numa salada de frutas.

Nossos sinceros agradecimentos a todos que foram e participaram e a GlobalCode por ter inserido a trilha de PHP no evento esse ano!

Vaga: Drupal/PHP

A Ci&T é uma empresa que atua com desenvolvimento de software e está há 15 anos no mercado.
Foi eleita umas das 100 Melhores Empresas para se Trabalhar no Brasil e uma das 50 Melhores para se Trabalhar em TI.

Estamos com oportunidades para Drupal/PHP em Campinas.

Pré-requisitos:
-Experiência prévia como engenheiro de software / desenvolvedor / implementador.
-Tecnologias: PHP e Drupal, Javascript, Ajax, Oracle, SQL, ferramentas de SCM, servidores de aplicação.

Desejável: já ter atuado como líder de equipe / líder técnico. Conhecimento Java.
Nível de Inglês: Intermediário

Aguardamos seu contato!

Encaminhar currículo para: lmartelli@ciandt.com

Vaga: Desenvolvedor PHP Pleno

A BSG, grupo de comunicação e educação focado no segmento de moda e beleza, está com uma vaga aberta para Desenvolvedor Web Pleno.

Perfil: desenvolvedor Web com conhecimento avançado em PHP. Experiência mínima de 2 anos em ambiente LAMP, trabalhando com Webservices, modelagem de banco de dados, template engines (Smarty), Frameworks MVC, bibliotecas Javascript (jQuery ou Prototype), AJAX, HTML/CSS

Local de trabalho: empresa localizada no bairro do Tatuapé (São Paulo-SP), ao lado da estação carrão do metrô.

Horário: das 9:00 as 18:00.

Benefícios: salário a combinar + vale transporte + vale refeição

Interessados enviar currículo + portfólio + pretensão salarial para selecao.developer@bsg-world.com

MongoSP – Primeiro evento de MongoDB da América Latina

Esta perto de acontecer o primeiro grande evento de MongoDB da América Latina.

Ele acontece no dia 22 de Julho e será um dia inteiro dedicado ao banco de dados MongoDB. A conferência trará apresentações dos engenheiros de desenvolvimento do MongoDB, bem como dos colaboradores da comunidade. Além disso, aprenda como empresas como a Globo.com, Gonow e Apontador estão usando o MongoDB em implementações reais.

Acompanhe também a palestra de nosso colega César Rodas, conhecido de longa data da comunidade PHP brasileira e latina.

A agenda completa e informações de registro estão disponíveis no link www.mongosp.com

Protegendo seu sistema contra ataques CSRF

Ataques CSRF ocorrem em várias aplicações web, eu gostaria de apresentar uma solução para este problema neste artigo, mas antes de mais nada aproveito para me apresentar, sou Kinn Coelho Juliao

O que são ataques CSRF?

CSRF é um ataque que força um usuário final à executar ações indesejadas em uma aplicação web em que ele(a) está autenticado no momento. Com uma pequena ajuda da engenharia social (como enviar um link por e-mail ou chat), um atacante pode forçar os usuários de uma aplicação web para executar ações de escolha do atacante. Um CSRF  bem sucedido, pode comprometer os dados e funcionamento do usuário final caso o mesmo seja um usuário comum ao sistema. Se o usuário final for administrador, isso pode comprometer a aplicação Web inteira.

Exemplos de ataques

Como funciona o ataque? Há inúmeras maneiras em que um usuário final pode ser levado a carga de informações ou enviar informação para uma aplicação web. A fim de executar um ataque, devemos primeiro entender como gerar um pedido malicioso para a nossa vítima executar.

Vejamos o seguinte exemplo: Alice deseja transferir R$ 100,00 a João usando banco.com.br.  O pedido gerado por Alice será semelhante ao seguinte:

No entanto, percebe que Maria da mesma aplicação web irá executar a mesma transferência usando parâmetros de URL da seguinte forma:

Maria decide agora para explorar esta vulnerabilidade de aplicações web usando Alice como sua vítima. Maria primeiro constrói a seguinte URL, que vai transferir R$ 100.000,00 da conta de Alice à sua conta:

Agora que seu pedido mal-intencionado é gerado, Maria  tem truque para apresentar o pedido. O método mais básico é o de enviar um e-mail HTML para Alice contendo o seguinte:

Supondo que Alice esta autenticada com a aplicação, quando ela clica no link, a transferência de R$ 100.000 para a conta de Maria irá ocorrer.

No entanto, Maria percebe que se Alice clica no link, em seguida, Alice vai notar que a transferência ocorreu.

Por isso, Maria decide esconder o ataque em uma imagem de zero bytes:

Se essa tag de imagem for incluída no e-mail, Alice só vê uma pequena caixa que indica que o navegador não pode processar a imagem. No entanto, o navegador continua a enviar a solicitação para banco.com.br sem qualquer indicação visual de que atransferência tenha ocorrido.

Este exemplo, pode ocorrer em qualquer aplicação que não possua tratamento no controle de formulários e/ou outros meios de entrada de dados.

Podemos ver um exemplo de como prevenir isto em outro exemplo abaixo:

O que fazer?

Ações em sites estão sempre associados com formulários – login, transferência de fundos ou postar um comentário no blog. Nossa solução para o problema de CSRF é gerar uma chave única quando o usuário visita a página com o formulário-lo. Vamos definir esta chave na $_SESSION, bem como um campo hidden no formulário. Quando o formulário for enviado, vamos verificar a chave armazenada na sessão e a chave enviada pelo formulário. Se eles são os mesmos então nós sabemos que o usuário submeteu nosso formulário. Se eles não são iguais (ou a $_SESSION está vazia), então sabemos que algo nocivo está acontecendo e nós podemos seguramente redirecionar o usuário (e não tomar nenhuma ação).

Podemos acrescentar um nível adicional de segurança, certificando-se o usuário veio a partir da página que contém o formulário.

Obrigado pela atenção espero ter ajudado.